Мне удалось решить мою проблему.Вот как я начинал конвейер:
node('staging') {
GIT_PROJECT_NAME = "myrepo"
stage("clone repository") {
git credentialsId: "${GIT_PROJECT_NAME}",
url: "git@github.com:${GIT_PROJECT_NAME}.git"
scmVars = checkout scm
branch = scmVars.GIT_BRANCH
sh ('git checkout ${branch}')
}
Идея заключалась в том, чтобы проверить ветку, из которой был запущен конвейер.Однако это вызвало запуск конвейера независимо от ветви.
Вот как я решил это:
node('staging') {
GIT_PROJECT_NAME = "myrepo"
stage("clone repository") {
scmVars = checkout scm
branch_tmp = scmVars.GIT_BRANCH
branch = branch_tmp.replace("origin/","")
git branch: "${branch}",
credentialsId: "${GIT_PROJECT_NAME}",
url: "git@github.com:${GIT_PROJECT_NAME}.git"
}
При этом мне не нужно «вручную» проверять правильностьветка.Это решение работает, теперь конвейер запускается только при нажатии на ветви, соответствующие моему спецификатору ветви.