Код выхода, чтобы установить нестабильную сборку - Jenkins DSL Scripting - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь использовать Код выхода, чтобы установить нестабильную сборку в job -> publishers -> postBuildScripts -> steps -> shell -> опцию предварительной установки, чтобы установитьмоя сборка нестабильна в зависимости от состояния.У меня есть сценарий ниже.

...
postBuildScripts {
                onlyIfBuildSucceeds(false)
                steps {
                  shell('echo "Before exit 1"\n' +
                        'if [ ! condition ]; then\n' +
                        'echo failed-condition\n' +
                        'exit 1\n' +
                        'fi'
                       )
                }
            }
...

При выполнении вышеупомянутого сценария DSL я получаю, как показано ниже, в jenkins enter image description here

С помощью вышеуказанного сценария exit 1сборка не удалась.Но я хотел сделать его нестабильным, и я НЕ хочу использовать markBuildUnstable(true).Я хотел пометить сборку как нестабильную, основываясь только на определенных кодах выхода.Я могу сделать это, установив код выхода вручную на 1, как показано ниже enter image description here После этого сборка помечается как нестабильная.

Я ищу скрипт для установки этого поля с помощью скриптова не вручную, так как у меня много рабочих мест.

Может кто-нибудь помочь мне с этим с предложениями?

Ответы [ 2 ]

0 голосов
/ 05 января 2019

Вы также можете использовать Динамический DSL :

job('example') {
  steps {
    shell {
      command('echo TEST')
      unstableReturn(2)
    }
  }
} 
0 голосов
/ 24 октября 2018

Мне удалось заставить это работать, используя "сырой" интерфейс configure.Когда я пытался это сделать, если бы у меня был steps { shell () } где-нибудь еще, он перезаписывал и терял настройки, поэтому мне пришлось также указать параметр command.У меня сложилось впечатление, что << будет добавляться, а не перезаписываться, но я никогда раньше не использовал Node.

def final my_script = readFileFromWorkspace('my_script.sh') // Seed workspace
freeStyleJob("jobname") {
  ...
    configure { project ->
        project / builders << 'hudson.tasks.Shell' {
          command my_script
          unstableReturn 2
        }
    }
  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...