【问题标题】:jenkins pipeline PR build contains wrong branch name詹金斯管道 PR 构建包含错误的分支名称
【发布时间】:2018-02-19 15:08:17
【问题描述】:

我正在使用带有 bitbucket 的 Jenkins 多分支管道,并且我看到了一个问题,即为 PR 创建的自动构建失败,因为我依赖于 env.BRANCH_NAME。 问题是这个 env 现在没有按预期保存功能分支名称,而是保存 PR(例如 PR-2 而不是 feature/test-branch)。

我的工作中有代码根据 BRANCH_NAME 推送到分支。这段代码现在显然失败了,因为没有名为 PR-2 的分支。

任何人以前见过这个并且有解决方法吗?

【问题讨论】:

  • CHANGE_BRANCH 应该包含查看the source 的源,但您可能会受到JENKINS-47617 的影响。
  • 这个 Jenkins 问题正是击中我的原因。 env.CHANGE_BRANCH == env.BRANCH_NAME
  • @mkobit 非常感谢您的提示。一旦我们使用这个变量而不是BRANCH_NAME,一切都按预期工作。如果记录在案,它会为我们节省很多时间......实际上我对 Jenkins 的最大问题是糟糕的文档......
  • 这可能会有所帮助:stackoverflow.com/a/66216186/5175709

标签: jenkins jenkins-pipeline pull-request bitbucket-server


【解决方案1】:

我的管道中有一个阶段相应地设置构建名称,以防我必须使用 CHANGE_BRANCH 而不是正常的分支名称。

stage('Set Build Name') {
  steps {
    script {
      if (env.BRANCH_NAME.startsWith('PR')) {
        currentBuild.displayName = "#${env.BUILD_NUMBER} - ${env.CHANGE_BRANCH}"
      } else {
        currentBuild.displayName = "#${env.BUILD_NUMBER} - ${env.BRANCH_NAME}"
      }
    }
  }
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-04
  • 1970-01-01
  • 2019-01-09
  • 2018-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多