如果存在合并冲突,Jenkins Pipeline Multibranch不会运行发布步骤

时间:2018-11-30 12:11:21

标签: jenkins multibranch-pipeline jenkins-declarative-pipeline

我有一个具有以下行为的多分支管道: Multibranch pipeline behaviors

以及以下Jenkinsfile:

 pipeline {
     agent {
         label 'apple'
     }

     stages {
         stage('Lint') {
             when {
                 changeRequest()
             }

             steps {
                 sh 'fastlane lint'
             }
         }
     }

     post {
         success {
             reportSuccess()
         }

         failure {
             reportFailure()
         }
     }
 }

我使用一个从属服务器来运行实际的构建,但是主控器仍需要签出代码以获取Jenkinsfile。为此,即使它实际上只需要Jenkinsfile,它似乎也使用与作业中定义的行为相同的行为。

我的问题是我想通过将合并请求与当前目标分支修订合并来发现合并请求,但是当发生合并冲突时,构建将在执行Jenkinsfile之前失败。这样可以防止在发布步骤中进行任何形式的报告。

是否有一种方法可以使初始签出不合并目标分支,但是当在从属服务器上实际运行Jenkinsfile时仍将其合并?

1 个答案:

答案 0 :(得分:0)

您可能想使用“当前请求请求修订”策略检出,然后在构建成功时发出git merge命令。