jenkins - 在测试失败或成功的情况下如何更改 Jenkins Pipeline Gitlab 状态?

标签 jenkins gitlab jenkins-pipeline

如何更改 Jenkins-Pipeline 中的 GitLab 状态? 我知道我可以做这样的事情:

stage('Tests') {
   steps {
      updateGitlabCommitStatus name: 'test', state: 'pending'
 (...Doing other stages and steps)

post {

    }
    success {
        updateGitlabCommitStatus name: 'test', state: 'success'
    }
    failure {
        updateGitlabCommitStatus name: 'test', state: 'failed'
    }
}    

但这只有在整个管道完成时才能完成 - 我的问题:如何在阶段测试完成后立即更改 gitlab 状态(测试)的状态(案例:成功和失败取决于测试状态-步骤)?

最佳答案

post 指令也可以在 stage 内部使用(请参阅 documentation ):

stage('Tests') {
  steps {
    updateGitlabCommitStatus name: 'test', state: 'pending'
    // ...
  }
  post {
    success {
      updateGitlabCommitStatus name: 'test', state: 'success'
    }
    failure {
      updateGitlabCommitStatus name: 'test', state: 'failed'
    }
  }
}

关于jenkins - 在测试失败或成功的情况下如何更改 Jenkins Pipeline Gitlab 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48932616/

相关文章:

c++ - 构建 Boost 动态可链接会导致链接错误?

maven - 如何正确使用 Nexus 和 Maven/Jenkins 作为第 3 方库(不在 Maven 存储库中)和必要的 p2 存储库

Python setup.py,GitLab 上的私有(private)存储库作为基于提交 ID 的 dependency_links

laravel - 在没有 DOCKER 的 VPS 中使用 gitlab ci 部署 laravel

java - gradle 测试任务如何运行特定的 junit 测试套件?

Jenkins 管道清除工作区

regex - Gitlab 提交匹配正则表达式

Jenkins 管道 Jenkinsfile : 'node' and 'pipeline' directives

jenkins - Jenkinsfile when-branch 设置的模式评估是什么?

maven - 使用Jenkins部署到Nexus