接上篇,接下来,我们就来实践一下,将从GIT下载的代码放在share里面
假设,我们在git上下载代码的pipline脚本如下:
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '410b9dafa33-38d7-48de-b916-43cb04b2aff7', url: 'ssh://huzq@192.168.0.1:29418/xxx/xxxx']]])
这里有几个变量,要下载的分支,ssh的密码,git的地址
那么,我们怎么写呢,如下:
1、在vars文件夹下建一个文件,名叫gitCheckout.groovy
2、写入如下脚本:
#!/usr/bin/env groovy def call(Map stageParams){ checkout([$class: 'GitSCM', branches: [[name: stageParams.Version]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: stageParams.credentialsId, url: stageParams.url]]]) }
脚本的含义就不解释了,怎么用呢。
接下来,我们在任务的pipeline脚本中使用该library
library 'my-shared-library' gitCheckout( Version: 'master', credentialsId: '410b43a3-38d7-48de-b916-43cb04b2aff7',url: 'ssh://huzq@192.168.0.1:29418/xx/xx')
先全局化libary,再直接使用该函数即可
注:call函数必须就是调用pipeline执行的函数,类似main函数一样