jenkins-pipeline - 如果一个阶段或步骤也失败,则执行所有阶段和步骤
问题描述
我正在设置下面提到的 Jenkins 管道。如果第一阶段失败,我的构建将中止,但我想执行第一阶段中提到的所有阶段和步骤。
pipeline {
agent none
stages {
stage("build and test the project") {
agent {
docker "coolhub/vault:jenkins"
}
stages {
stage("build") {
steps {
sh 'echo "build.sh"'
}
}
stage("test") {
steps {
sh 'echo "test.sh" '
}
}
}
}
}
}
我想执行第一个阶段中提到的所有阶段和步骤。毕竟,阶段被执行然后最终需要中止詹金斯工作并显示失败的阶段和步骤。
解决方案
是的,除了脚本中的 try catch 块之外,目前没有办法做到这一点。更多信息:忽略管道构建步骤中的失败。
stage('someStage') {
steps {
script {
try {
build job: 'system-check-flow'
} catch (err) {
echo err
}
}
echo currentBuild.result
}
}
推荐阅读
- sqlite - 在连接 sqlite 的表时包括一个表中的值总和
- java - build.xml fx:association 抛出 NullPointerException
- visual-studio - 从 GitHub.com 克隆 VS 项目并将其作为文件结构加载到 VS 中,而不是 VS 项目
- php - WordPress PHP 和 PHP 到 JSON 编码的数组
- r - 基于R中的另一个数据框在数据框中查找值
- arrays - 从 csv 文件创建对象数组的问题
- mysql - Laravel 6 - 更新模型时间戳
- python - 从两个一维向量 a、b 和 A[i,j] 创建一个布尔数组 A,如果 a[i]==b[j]
- c++ - 如何为对象中的数据动态赋值?
- c++ - C++ 语法中的函数指针