【问题标题】:Selecting Quality Gate for SonarQube Analysis in Jenkinsfile在 Jenkinsfile 中为 SonarQube 分析选择质量门
【发布时间】:2021-02-05 11:28:00
【问题描述】:

我有一个 Jenkinsfile,除其他外,它对我的​​构建执行 SonarQube 分析并将其通过“质量门”阶段。分析放置在 SonarQube 服务器上,我可以在其中查看所有详细信息。分析和质量门的相关代码如下(不是我的,来自documentation):

stage('SonarCloud') {
      steps {
        withSonarQubeEnv('SonarQube') {

            sh 'mvn clean package sonar:sonar '

        }
      }
    }

stage("Quality Gate") {
      steps {
        timeout(time: 15, unit: 'MINUTES') { // If analysis takes longer than indicated time, then build will be aborted
            waitForQualityGate abortPipeline: true
            script{
                def qg = waitForQualityGate() // Waiting for analysis to be completed
                if(qg.status != 'OK'){ // If quality gate was not met, then present error
                    error "Pipeline aborted due to quality gate failure: ${qg.status}"
                }
            }
        }
      }
    }

目前,一旦分析完成并放置在服务器上,它就会使用服务器的默认质量门。我想知道在进入“质量门”阶段之前,是否可以指定在分析中使用哪个质量门? (我设置了另一个质量门,具有不同的验收标准,我想将其用于“质量门”阶段)。

无法更改默认质量门,因为其他人正在使用它(因此我设置了自己的质量门)。

我已经查看了“ceTaskUrl”链接,该链接可以在 report-task.txt 文件中找到,但并没有深入了解它(没有我可以看到和使用的变量来选择质量门)。

我还发现了这个Jenkinsfile。我尝试使用它的一些代码,并在上面进行额外的谷歌搜索,希望能够访问和更改质量门,但也没有走得太远。

值得一提的是,我在使用的 SonarQube 服务器上没有管理员权限。但是,如果需要,我可以请求配置新的质量门。

【问题讨论】:

    标签: sonarqube jenkins-pipeline multibranch-pipeline


    【解决方案1】:

    您可以使用 WebAPI 执行此操作,但为此您需要 Administer Quality Gate 权限。

    请在此答案中找到更多详细信息。

    How to assign Quality Gate dynamically to project from the script [SonarQube 6.5]?

    或者,如果您没有获得适当的许可,那么另一种方法是使用 sonarqube UI,您可以在其中指定应该为哪个项目使用哪个 Quality Gate。

    【讨论】:

    • 我明白了。我的理解是否正确,如果我使用这种方法,sh 'mvn clean package sonar:sonar ' 不会削减它?我需要先创建一个项目,将其与我选择的质量门相关联,然后对其进行分析,对吗?
    • 正确。你必须先创建项目,使用webapi关联质量门,然后分析它。
    • 有道理。这应该足够了。谢谢!
    • 曾经有一个声纳分析属性sonar.qualitygate,但很久以前就被弃用并删除了。
    猜你喜欢
    • 2019-06-23
    • 2021-05-06
    • 2021-09-12
    • 2015-07-05
    • 2016-08-11
    • 2017-02-26
    • 2021-08-22
    • 2017-01-09
    • 2015-02-11
    相关资源
    最近更新 更多