Jenkins多分支管道Jenkinsfile检测Git repo启动的作业



我有一个多分支管道配置工作到目前为止运行良好....

然而,除了git的repo名称之外,每个单独的仓库都有完全相同的jenkinsfile。

典型的jenkinsfile如下:

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'

这让我更接近我的最终目标,把我的Jenkinsfile存储在一个公共的位置,而不是必须复制它到一个又一个的仓库,再修改它到一个又一个的仓库。

任何想法?

谢谢菲尔。

事实证明,在脚本中,下面的代码正是我所需要的:

checkout sum

不需要git url行....

所以最后的代码看起来像:

node('docker-slave') {
     withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'NEXUS', usernameVariable: 'NEXUS_USERNAME', passwordVariable: 'NEXUS_PASSWORD']]) {
     checkout scm
     stage 'Test'
     sh 'make verify'
}

相关内容

  • 没有找到相关文章

最新更新