jenkins 管道 PR 构建包含错误的分支名称

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

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

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

有没有人以前看过这个并且有解决方法?

最佳答案

我的管道中有一个阶段,相应地设置构建名称,以防我必须使用 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}"
      }
    }
  }
}

关于jenkins 管道 PR 构建包含错误的分支名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48868953/

相关文章:

jenkins - 如何测试 Jenkinsfile

Git pull 请求说 "This branch has conflicts that must be resolved"

github - 如何更改拉取请求的基本分支?

java - 如何相对于子目录运行 Jenkins 管道?

Jenkins:通过 Groovy 读取现有作业的插件配置

Jenkinsfile 主动选择参数

maven - Jenkins Pipeline - 无法连接到 Docker 守护进程

git - Maven 发布插件 git push 不适用于 Git Deploy key

jenkins - 在 Jenkins 中将文件从桌面复制到作业工作区的插件

github - 我可以从 GitLab.com 向 GitHub 提交拉取请求吗?