我创建了一个管道,它的一个阶段应该只在开发分支上执行。这个阶段也需要用户的输入。为什么即使我在不同的分支上,用户输入的这些步骤也会被卡在上面?当我提供输入时,它们会被正确跳过。
stage('Deploy to UAT') {
when {
branch 'develop'
beforeAgent true
}
options {
timeout(time: 5, unit: 'MINUTES')
}
input {
message "Deploy to UAT?"
ok "Yes"
}
steps { echo "deploing!" }
}
使用BlueOceas的Jenkins版本为1.7.0·Core 2.121.1·d7cda7a·2018年7月13日06:49 PM
发布于 2018-07-20 10:42:04
这是詹金斯管道中的一个错误。input
步骤是在when
条件之前计算的。
发布于 2021-04-30 09:44:56
最近,我遇到了类似的情况,在beforeInput
的when()
标志上绊倒了。
when {
beforeInput true
branch 'develop'
}
在文档中,您可以找到其他信息:
默认情况下,如果定义了某个阶段的时间条件,则不会在输入之前对其进行计算。但是,可以通过在when块中指定beforeInput选项来更改这一点。如果beforeInput设置为true,则首先计算时间条件,只有当时间条件计算为真时,输入才会输入。
https://stackoverflow.com/questions/51325154
复制相似问题