我们为Jenkins提供了Groovy脚本"验证" (配置)步骤:
...
def deploy_prod_verify() {
stage 'Verify'
input id: 'Deploy', message: 'Is Blue node fine? Proceed with Green node deployment?', ok: 'Deploy!'
}
...
我的问题是 - 一切正常(即 - 如果按"部署!" - 下一阶段开始)。
但是 - 我怎么能用Jenkins运行另一个函数,如果" Abort"被按下了?
现在 - 詹金斯将中止当前的工作。我想改为运行另一个功能("回滚")。
我找到了一些文档here,但无法看到与" Abort"相关的任何内容。动作。
我看到了#34; Abort"将执行Ajax调用:
<a href="#" onclick="new Ajax.Request('http://<JENKINS HOST>/job/EU-api-staging-build/72/input/Deploy/abort'); return false">Abort</a>
正如我所理解的那样 - 无论如何都无法处理这个Deploy/abort
。
答案 0 :(得分:4)
按照@ MaTePe的回答,这是你如何做到的:
def deploy_prod_verify() {
stage ('Verify'){
try {
input id: 'Deploy', message: 'Is Blue node fine? Proceed with Green node deployment?', ok: 'Deploy!'
do whatever you need...
} catch (error) {
If an error is caught... do this...
}
}
}
答案 1 :(得分:1)
您是否尝试过使用catchError或try / catch?我自己没有尝试过,也不确定按下中止时是否会抛出异常。
https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-error-code-error-signal