如何触发另一个需要$ BRANCH变量的Jenkins管道?

我有3条管道。说:

build-and-release build release

我正在重构管道,以便可以从build内部调用releasebuild-and-release作业。遵循以下原则:

// build-and-release JenkinsFile
node('master') {
  build job: "build",propagate: true,wait: true
  build job: "release",wait: true
}

// build JenkinsFile
node('master') {
  stage('Build') {
    // do stuff
  }
}

// release JenkinsFile
node('master') {
  stage('Release') {
    // do other stuff
  }
}

这似乎照原样工作,但是buildrelease管道始终假定分支为MASTER。运行build-and-release作业时,选择要构建的分支。

如何使其他作业使用从build-and-release中选择的相同$ BRANCH?

csx80088 回答:如何触发另一个需要$ BRANCH变量的Jenkins管道?

您可以将buildrelease作业配置为参数化作业,然后可以将分支名称作为参数发送,如下所示:-

// build-and-release JenkinsFile
node('master') {
  build job: 'build',parameters: [string(name: 'Branch',value: "${env.BRANCH_NAME}")],propagate: true,wait: true
  build job: 'release',wait: true
}

然后您可以在构建和发布的Jenkinsfile中使用 Branch 变量。

注意:-您可以在上面的示例中配置任何其他参数类型字符串参数,有关详细信息,请参阅link

本文链接:https://www.f2er.com/3162755.html

大家都在问