Проект Jenkins Pipeline Не Может Работать В Ветке

  • Автор темы Евгений Щуренко
  • Обновлено
  • 21, Oct 2024
  • #1

Я хочу использовать

 branch 
on when состояние. Дженкинсфайл такой

develop

Вывод консоли показывает, что сцена stages{ stage('Checkout project branch master'){ steps{ withCredentials([sshUserPrivateKey(credentialsId: 'credential', keyFileVariable: 'CREDENTIAL')]) {} git branch: 'develop', credentialsId: 'credential', url: '[email protected]:user/demopipelinejenkinsfile.git' } } stage('develop'){ steps { echo 'on branch develop` } } stage('any_branch'){ environment { GIT_BRANCH = sh(returnStdout: true, script: 'git rev-parse --abbrev-ref HEAD').trim() } steps{ echo "${env.GIT_BRANCH}" } } } is skipped due to condition. However, the last stage still echoes the current branch is "develop"

Вопрос Как использовать branch with when в Трубопровод проект (не Многофилиальный проект)

#jenkins #jenkins-pipeline #jenkinsfile

Евгений Щуренко


Рег
29 Oct, 2020

Тем
90

Постов
216

Баллов
686
  • 25, Oct 2024
  • #2

Вот путь:

 sh 'printenv' 

Будьте осторожны, это работает только с декларативным синтаксисом.

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

Кроме того, в моем случае я сам не объявлял переменную GIT_BRANCH. Но Дженкинс предоставляет ее как переменную среды (следовательно, «env.GIT_BRANCH»), если вы выполнили «checkout scm» для проверки своего репозитория. Если вы хотите проверить все доступные переменные окружения, сделайте это как шаг: stage('Deploy'){ when { expression {env.GIT_BRANCH == 'origin/master'} } steps { .... } }

ознакомьтесь с этой статьей для получения дополнительной информации: https://jenkins.io/blog/2017/01/19/converting-conditional-to-pipeline/

 

Ida-Moon


Рег
09 Dec, 2020

Тем
88

Постов
198

Баллов
658
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно