【发布时间】:2020-02-15 02:31:27
【问题描述】:
我有一个包含两个步骤的管道脚本。
-
SonarQube分析 UnitTests
如果 SonarQube 发现警告,它会将它们作为 cmets 报告回 Gerrit 并设置 Code-review-1。下一阶段是 UnitTest,如果可以,Pipeline 将成功,Jenkins 应该向 Gerrit Verified+1 报告。但是,当 Jenkins 报告 Verified+1 时,它会删除 Code-review-1。
我的 Pipeline 脚本的相关部分:
....
steps {
withSonarQubeEnv('Managed SonarQube') {
sh '''./sonar_runner.sh preview'''
sonarToGerrit(
inspectionConfig: [
serverURL: env.'SONAR_HOST_URL',
baseConfig: [
sonarReportPath: '.scannerwork/sonar-report.json',
autoMatch: true
]
],
scoreConfig: [
issueFilterConfig: [
severity: 'MINOR',
newIssuesOnly: false,
changedLinesOnly: false
],
category: 'Code-Review',
noIssuesScore: 0,
issuesScore: -1
]
)
}
stage('UnitTest') {
steps {
ansiColor('xterm') {
sh '''./unittest.sh'''
}
....
我的“Gerrit 报告值”部分:
我的 Gerrit 历史:
我的最终结果:
我的问题:
如何在一次运行中设置Code-review-1 和Verified+1?如何避免 Gerrit 在报告 Verified+1 时删除 Code-review-1?我对 GUI 解决方案和 Pipeline 持开放态度。
编辑:
不能更改 Gerrit 插件的全局配置。我必须在 Jenkins 工作级别上解决它。有可能吗?
【问题讨论】:
-
嗨@milanbalazs,你介意分享你的Jenkinsfile关于如何将sonarqube发现作为cmets报告回gerrit吗?谢谢。
-
嗨@FrankLiu,没问题,我已经用完整的声纳模块扩展了我的问题。如果您有更多问题,请随时提问。 :)
-
非常感谢您的及时回复。我确实有后续行动。您是否使用sonar-gerrit 插件来实现此功能?从插件的网站上看,它似乎不再与 SonarQube 7.7 或更高版本兼容。我们计划使用 SonarQube 8.9 LTS 和 gerrit 3.3.1。您是否知道任何工具可以帮助我们使用稍新的 SonarQube 和 Gerrit 实现相同的结果?干杯。
-
是的,我正在使用
sonar-gerrit插件向 Gerrit 报告缺陷。我的 Gerrit 版本是 2.14.22,SonarQube 版本是 7.9.4,它适用于 Gerrit。只有preview功能不再可用。我已经在sonar_runner.sh脚本中实现了该功能。如果您对此实现感兴趣,请告诉我。 -
我明白了。只有
preview功能。我什至不确定 SonarQube 的preview功能是什么。让我做一些研究。我将尝试使用sonar-gerrit plugin version 2.4.3将 sonarqube 8.9 与 gerrit 3.3.1 集成,再次感谢您的意见。
标签: jenkins sonarqube jenkins-pipeline gerrit gerrit-trigger