在我的Jenkins实例中,我使用共享库。在我的第一步中,我执行完整性检查。在这个结账的开始,我检查我的reopsitory是否有变化。如果没有更改,我想退出整个管道作业而不将构建状态更改为unstable。
mainpipeline:
step('checkout'){
performIntegrityCheckout()
}
performIntegrityCheckout:
//PERFORM INTEGRITY CHECKOUT
if(changes == "false"){
//EXIT HERE
}
我尝试使用return
,但这只会结束当前的关闭。
有什么想法吗?
答案 0 :(得分:1)
您可以尝试设置环境变量,然后使用它来跳过每个阶段......
pipeline {
agent any
stages {
stage('Stage 1') {
when {
environment name: 'CHANGES_EXIST', value: 'true'
}
steps {
echo "I am running stage 1"
}
}
stage('Stage 2') {
when {
environment name: 'CHANGES_EXIST', value: 'true'
}
steps {
echo "I am running stage 2"
}
}
}
environment {
CHANGES_EXIST = getChangesExist()
}
}
def getChangesExist() {
if (<your integrity check goes here>) {
return "true"
} else {
return "false"
}
}