这是我正在使用的管道脚本
def map = [FRA1: "192.168.1.1", DEL: "192.168.1.2", NYC: "192.168.1.3"]
map.each { key, value ->
echo "${key} ${value}"
stage("job test-${key}"){
build job: 'jobcheck', parameters: [string(name: 'DC-NAME',value: "${value}")]
}
}
现在,假设管道作业失败的阶段之一正在结束。我需要继续下一个阶段,即使前一个阶段失败。 我试过传播:假值。但在这种情况下,它会转移到下一份工作,但在所有阶段都取得成功。我还是想把他们看成失败
答案 0 :(得分:0)
您可以使用 catchError 关键字来实现您想要的目标,它将捕获异常(当构建失败时)并将阶段结果和构建结果设置为您想要的选项。
例如:
def map = [FRA1: "192.168.1.1", DEL: "192.168.1.2", NYC: "192.168.1.3"]
map.collectEntries {key, value ->
["Running ${key} ${value}" : {
stage("Triggering another job- ${key}") {
catchError(buildResult: 'UNSTABLE', stageResult: 'FAILURE') {
build job: 'testjobcheck', parameters: [string(name: 'DC-NAME', value: value)]
}
}
}]
}