Обеспечение того, чтобы каждый этап выполнялся именно тогда и там, где он должен
В этой статье мы подробно рассмотрим одну из таких функций: условные выражения в Jenkinsfiles.
Условные выражения позволяют вам контролировать выполнение определенных этапов конвейера Jenkins. Это меняет правила игры в оптимизации вашего конвейера Jenkins.
В этой статье мы шаг за шагом проведем вас через эту функцию, чтобы ее было легко понять. Давайте погрузимся!
Определение условных выражений
Условные выражения в Jenkinsfiles предоставляют мощный способ управления тем, когда должны выполняться определенные этапы.
Представьте себе такие сценарии, как запуск тестов исключительно в ветке разработки или запуск сборки только при изменении кода.
Чтобы определить условные выражения, вы используете блок «when
» внутри этапа. Синтаксис прост:
stage('Example Stage') { when { expression { // Your boolean expression here } } steps { // Define your stage steps } }
В блоке «выражение» вы можете создавать логические выражения на основе таких факторов, как активная ветвь.
Дженкинс предоставляет переменную среды «BRANCH_NAME
», упрощающую проверку текущей ветки.
Вот простой пример: чтобы запускать этап только тогда, когда текущая ветвь — «dev
», вы можете определить его следующим образом:
when { expression { BRANCH_NAME == 'dev' } }
Теперь этот этап будет выполняться только в ветке «dev
», в противном случае он будет пропущен.
Объединение условий
Помимо простых условий, вы можете повысить эффективность условных выражений, объединив их с помощью выражений «or
» и «and
» в блоке «when
».
Например, предположим, что вы хотите запустить этап как в ветвях «dev
», так и в «master
». Вы можете добиться этого с помощью выражения «or
»:
when { expression { BRANCH_NAME == 'dev' || BRANCH_NAME == 'master' } }