簡體   English   中英

在 Jenkinsfile 中為 SonarQube 分析選擇質量門

[英]Selecting Quality Gate for SonarQube Analysis in Jenkinsfile

我有一個 Jenkinsfile,除其他外,它對我的​​構建執行 SonarQube 分析並通過“質量門”階段。 分析放置在 SonarQube 服務器上,我可以在其中查看所有詳細信息。 分析和質量門的相關代碼如下(不是我的,它來自文檔):

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 服務器上沒有管理員權限。 但是,如果需要,我可以請求根據需要配置新的質量門。

您可以使用 WebAPI 執行此操作,但為此您需要Administer Quality Gate權限。

請在此答案中找到更多詳細信息。

如何從腳本 [SonarQube 6.5] 動態分配質量門到項目?

或者,如果您沒有獲得適當的許可,那么另一種方法是使用 sonarqube UI,您可以在其中指定應將哪個 Quality Gate 用於哪個項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM