退出管道工作失败

时间:2018-03-01 13:04:08

标签: jenkins groovy jenkins-pipeline

在我的Jenkins实例中,我使用共享库。在我的第一步中,我执行完整性检查。在这个结账的开始,我检查我的reopsitory是否有变化。如果没有更改,我想退出整个管道作业而不将构建状态更改为unstable。

mainpipeline:

step('checkout'){
     performIntegrityCheckout()
}

performIntegrityCheckout:

 //PERFORM INTEGRITY CHECKOUT
 if(changes == "false"){
      //EXIT HERE
 }

我尝试使用return,但这只会结束当前的关闭。 有什么想法吗?

1 个答案:

答案 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"
  }
}