接上篇,接下來,我們就來實踐一下,將從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函數一樣
