Jenkins管道中的Jenkins用户接受代码发布。如何在单个管道中实现多个接受代码

时间:2019-12-26 09:27:11

标签: jenkins jenkins-pipeline

我正在尝试创建一个管道,在部署之后,我将在其中进行功能测试,并在此基础上得出我是否要继续进行下去的结论。我使用了詹金斯的“输入”功能。我正在获得进一步处理该消息的信息,但是当我单击“确定”时,什么也没发生,它仅卡在其中。而且在首次批准之后,我还向下面发送了批准步骤,此后,我只需要发布结果。 我还不了解如何实现这一目标。管道代码如下:

pipeline {
  agent any

tools {
  // Install the Maven version configured as "M3" and add it to the path.
  maven "mvn"
  jdk "jdk8"
}

stages {
  stage('SCM Checkout') {
     steps {
        println "============= SCM Checkout =============="
     }
  }
  stage('Code Inspection'){
      steps {
        println "============== SonarQube Scanning ======================="
     }
  }
  stage('Build, Package & JUnit'){
      steps {
        println "============== Build, Package & JUnit ================"
     }
  }
  stage('Deploy'){
      steps {
        println "============== Deploy and Split Traffic==================" 
     }
  }
  stage('Functional & Performance Test'){
      steps {
        println "=========== Functional and Performance Test ==============="
     }
  }
  stage('A/B Testing'){
      input {
            message "Functional & Performance Test done. Should we continue?"
            ok "OK"
      }
      steps {
          println "=========== A/B Testing ==============="
     }
  }
  stage('Release'){
      input {
            message "A/B Testing done. Should we continue?"
            ok "OK"
      }
      steps {
          println "========= Final Release =================="
     }
  }
}}

还有其他方法可以实现这一目标吗?或谁可以改进此代码以获得所需的结果。

1 个答案:

答案 0 :(得分:1)

像这样使用输入功能:

stage('Release'){
  steps {
      input message: "A/B Testing done. Should we continue?"
      println "========= Final Release =================="
 }
}

确保还安装并激活了Pipeline: Input Step PluginPipeline Plugin的组成部分):

Input Plug-In