Jenkins Pipeline Multibranch не выполняет шаги после публикации, если есть конфликты слияния - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть многоотраслевой конвейер со следующим поведением: 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 голосов
/ 27 декабря 2018

Вы можете проверить, используя стратегию «Текущий пересмотр запроса на извлечение», а затем при успешной сборке выпустить команду git merge.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...