【问题标题】:Continuous Integration pipeline持续集成管道
【发布时间】:2021-12-12 02:41:01
【问题描述】:
我希望在我的管道中触发 on_failure 步骤。我有一个非常简单的脚本。
2个资源和1个工作。该作业有一个运行步骤,我想在其中手动触发失败。我尝试了很多事情,但都导致了错误。
是否有一个 shell 脚本退出代码可以使任务失败并且不会出错
【问题讨论】:
标签:
jenkins
jenkins-pipeline
concourse
concourse-pipeline
【解决方案1】:
不可能触发post → failure 并且不会使构建失败:
failure
仅当当前 Pipeline 或阶段的运行处于“失败”状态时才运行 post 中的步骤,通常在 Web UI 中用红色表示。
但是,您可以执行以下操作:
def status
pipeline {
agent any
stages {
stage('Failing stage') {
steps {
script {
status = sh script: 'exit 99', returnStatus: true
}
}
}
}
post {
always {
script {
if ( status == 99 )
echo 'Script failed...'
else
echo 'Script succeeded...'
}
}
}
}
【解决方案2】:
示例帖子 -> 失败
post {
always {
cleanWs()
}
success {
sendEmail('SUCCESSFUL')
}
unstable {
sendEmail('UNSTABLE')
}
failure {
sendEmail('FAILED')
}
}