我有一个声明性管道,在一个阶段中创建一个脚本,在其中使用if / else块进行一些验证,在这种情况下,我声明一个具有输入的阶段(我只希望该阶段可以在此特定条件)的问题是我希望输入不锁定,执行程序将等待用户输入,但它在阶段声明的代理中执行,是否有可能覆盖代理声明为none?]
这里是管道的简历:
pipeline{
agent none
stages{
...
stage('branch-selector'){
agent{
label 'runner'
}
steps {
script {
if (BRANCH_NAME.contains('feature')){
print "in branch feature"
}
if (BRANCH_NAME == 'develop'){
print "in branch develop"
}else if (BRANCH_NAME == 'release_candidate'){
print "in branch rc"
stage('Confirm deploy'){
milestone ordinal: 10, label: "Promote Aproval Milestone"
input message: "Are you sure you want to promote"
}
stage('Deploy'){
print "Deploy"
}
}
}
}
}
}
}
最诚挚的问候
我认为您可以使用:何时https://jenkins.io/doc/book/pipeline/syntax/#when
因此,只有在满足条件时才执行步骤。无需额外的魔法。