如何触发另一个需要$BRANCH变量的Jenkins管道?
我有3条管道。说:如何触发另一个需要$BRANCH变量的Jenkins管道?,jenkins,Jenkins,我有3条管道。说: 构建和发布 build 发布 我正在重构我的管道,这样我就可以从构建和发布中调用构建和发布作业。大致如下: // build-and-release JenkinsFile node('master') { build job: "build", propagate: true, wait: true build job: "release", propagate: true, wait: true } // build JenkinsFile node('mast
构建和发布
build
发布
我正在重构我的管道,这样我就可以从构建和发布
中调用构建
和发布
作业。大致如下:
// build-and-release JenkinsFile
node('master') {
build job: "build", propagate: true, wait: true
build job: "release", propagate: true, wait: true
}
// build JenkinsFile
node('master') {
stage('Build') {
// do stuff
}
}
// release JenkinsFile
node('master') {
stage('Release') {
// do other stuff
}
}
这似乎是可行的,但是构建
和发布
管道始终假定分支是主分支。当我运行构建和发布
作业时,我选择要构建的分支
如何使其他作业使用我从
构建和发布
中选择的相同$BRANCH?您可以将构建
和发布
作业配置为参数化作业,然后可以将分支名称作为参数发送,如下所示:-
// build-and-release JenkinsFile
node('master') {
build job: 'build', parameters: [string(name: 'Branch', value: "${env.BRANCH_NAME}")], propagate: true, wait: true
build job: 'release', parameters: [string(name: 'Branch', value: "${env.BRANCH_NAME}")], propagate: true, wait: true
}
然后,您可以在build And release的Jenkins文件中使用分支变量
注意:-您可以在上面的示例中配置任何其他参数类型字符串参数已配置,有关更多信息,请参阅