gpt4 book ai didi

jenkins - 在 Jenkins 管道中的给定阶段超时后继续执行后续阶段

转载 作者:行者123 更新时间:2023-12-04 10:24:04 42 4
gpt4 key购买 nike

我正在构建一个声明性的 Jenkins 管道,我希望以一种方式让一个阶段超时,以便后续阶段继续正常运行。我确信在这个用例中的阶段之间没有相互依赖。

pipeline {
agent any
stages {
stage('Build-1') {
options {
timeout(time: 1, unit: 'HOURS')
}
steps {
echo 'Hello World 1'
}
}
stage('Build-2') {
steps {
echo 'Hello World 2'
}
}
}
}

在上面的例子中,阶段超时后 Build-1管道中止并显示以下消息: Sending interrupt signal to process
Cancelling nested steps due to timeout

在这里,舞台 Build-2不被执行。尽管在阶段 Build-1 超时,有没有办法? ,管道可以继续运行阶段 Build-2优雅地。

我指的是以下文档: https://jenkins.io/doc/book/pipeline/syntax/#options

最佳答案

这可能有效:

pipeline {
agent any
stages {
stage('Build-1') {
options {
timeout(time: 1, unit: 'HOURS')
}
steps {
script {
try {
echo 'Hello World 1'
} catch (error) {
println "Error happened, continuing"
}
}
}
}

您可以进一步检查是否 error由于超时或其他原因而发生。

关于jenkins - 在 Jenkins 管道中的给定阶段超时后继续执行后续阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60703738/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com