【发布时间】: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