如何使用作业名称/{env.BRANCH_NAME}

时间:2019-09-03 12:20:47

标签: jenkins-pipeline

我有2个连接同一github项目的多分支jenkins管道作业。我正在触发第一个MB作业。开发。分支,现在成功完成此任务后,我想使用相同的分支名称触发第二个MB任务。 (我已经将Jenkinsfile和MB都分开了。)

我尝试了以下选项,但没有用:

(1)

build  job: 'jobName', parameters: [[$class: 'StringParameterValue', name: 'BRANCH_NAME', value: env.BRANCH_NAME]] 

这给了我错误“不支持等待非工作项目”

(2)

build  job: 'jobName/${branch_name}'

这给了我jobname / $ {branch_name}不存在,意味着这里的变量无法解析,我已经在环境指令中创建了这个变量

简单的jobName / dev,如果我在Jenkinsfile中提供硬代码,那么它就可以了,但是我需要通过自动选择分支名称来实现。

请告知,谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决此问题的另一种方法:

在带有gitParameter的jenkinsfile触发管道作业中:

build   job: 'jobName', parameters: [gitParameter(name: 'GITBRANCH', value: env.BRANCH_NAME)]

安装了“ git parameter”插件,并在jenkinsfile中触发的作业中进行配置

parameters {
    gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'GITBRANCH', type: 'PT_BRANCH'
    }

并在结帐代码时调用此参数

stage("Checkout Branch wise"){
            steps{
                git branch: "${params.GITBRANCH}", url: 'https://xxx/xxx/xxxx.git'
            }
        }

解决了这个问题。