我试图使Jenkinsfile中的构建步骤失败,结果失败=失败。一旦该步骤失败,它将触发我的回滚作业。尝试了许多不同的东西,但是没有运气。任何帮助将不胜感激。
pipeline {
agent any
stages {
stage('Git Checkout') {
steps {
script {
git 'somegit-repo'
sh'''
mvn package
'''
echo currentBuild.result
catchError {
build 'rollback'
}
}
}
}
}
答案 0 :(得分:1)
一种方法是使用shell脚本并使用exit 1
语句
例如
sh "exit 1"
或者您可以使用错误步骤
error('Failing build because...')
请参见https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#error-error-signal
答案 1 :(得分:0)
使用try
catch
块
node {
stage("Run scripts") {
try {
<some command/script>
} catch (error) {
<rollback command/script>
}
}
}
答案 2 :(得分:0)
非常感谢。这似乎可行!
stages {
stage("some test") {
steps{
script {
git 'mygitrepo.git'
try {
sh''' mvn test '''
} catch (error) {
script {
def job = build job: 'rollback-job'
}
}
}
}
}
答案 3 :(得分:0)
如果您查看cleaning and notifications页
您可以执行一个minizinc: unrecognized option "--solver"
步骤,摆脱掉所有try / catch内容,并获得一个更干净的Jenkinsfile
post