Как я могу избежать дублирования условий, которые применяются к нескольким шагам в моем конвейере Jenkinsfile? - PullRequest
0 голосов
/ 19 октября 2018

В настоящее время у меня есть Jenkinsfile, который выглядит следующим образом:

stage('A'){
  agent{docker{image A}}
  when{branch = 'master'}
  step{do blah} 
}    
stage('B'){
  when{branch = 'master'}
  agent{docker{image B}}
  step{do blah} 
}

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

1 Ответ

0 голосов
/ 20 октября 2018

Сначала вы можете просто использовать переменную env (для установки условия): https://jenkins.io/doc/book/pipeline/jenkinsfile/#setting-environment-variables-dynamically.

, затем вы можете использовать среду when: https://jenkins.io/doc/book/pipeline/syntax/#built-in-conditions

Выполнить этап, когда для указанной переменной среды задано заданное значение, например:

when { environment name: 'DEPLOY_TO', value: 'production' }
...