到目前为止,我的多分支管道配置工作正常工作....
然而,除了git repo名称之外,每个存储库都具有完全相同的jenkins文件。
典型的jenkins文件如下:
node('docker-slave') {
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'NEXUS', usernameVariable: 'NEXUS_USERNAME', passwordVariable: 'NEXUS_PASSWORD']]) {
git url: 'git@bitbucket.org:myco/myprob.git', branch: env.branch_name, credentialsId: '08df8ab41de0', variable: 'CREDENTIALS'
stage 'Test'
sh 'env > env.txt'
sh 'cat env.txt'
sh 'make verify'
}
}
我想要做的是检测哪个git repo触发了构建,因此我不必在jenkinsfile中对其进行硬编码。
所以我想要的是将git行更改为(注意GIT_URL):
git url: env.GIT_URL, branch: env.branch_name, credentialsId: '08df8ab41de0', variable: 'CREDENTIALS'
这让我更接近于将我的Jenkins文件存储在一个公共位置的最终目标,而不是将其复制到repo并将其repo修改为repo。
有什么想法吗?
由于 菲尔
答案 0 :(得分:0)
事实证明,在脚本中,以下代码正是我所需要的:
checkout sum
不需要git网址行....
所以最后代码如下:
node('docker-slave') {
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'NEXUS', usernameVariable: 'NEXUS_USERNAME', passwordVariable: 'NEXUS_PASSWORD']]) {
checkout scm
stage 'Test'
sh 'make verify'
}