我知道可以使用options
为整个管道脚本或特定阶段设置超时,但是有没有办法为一组阶段设置超时?例如,在5个阶段中只有3个阶段的总超时时间为10分钟(每个阶段不是10分钟),而其他2个阶段则可以自由运行。
答案 0 :(得分:4)
当然,您可以创建嵌套阶段并为父阶段定义timeout
选项:
pipeline {
agent any
stages{
stage('Stage A') {
options{
timeout( time: 10, unit: 'SECONDS' )
}
stages {
stage('Stage A1') {
steps {
sleep( time: 4, unit: 'SECONDS' )
}
}
stage('Stage A2') {
steps {
sleep( time: 4, unit: 'SECONDS' )
}
}
stage('Stage A3') {
steps {
sleep( time: 4, unit: 'SECONDS' )
}
}
}
}
}
}
由于父超时,将永远不会执行阶段A3。它将被标记为“中止”: