sonar-gerrit plugin配置

配置 sonar-gerrit plugins steps
pre-condition:
1. Sonarqube(5.5及以上,本文使用的版本为6.1.3)
关于如何安装配置Sonarqube,请参考其他文档
2. Gerrit(2.11及以上,本文使用版本为2.13.2)
关于如何安装配置Gerrit,请参考其他文档
3. Jenkins(1.7及以上,本文使用版本为2.35)
关于如何安装配置Jenkins,请参考其他文档
4. Gerrit-Trigger (本文使用版本为2.23)
5. Sonar-scanner (本文使用版本为2.8)
6. sonar-gerrit-plugin(本文使用版本为1.0.7.6)
7. sonar-gerrit-plugin-2.3.0.jar

Steps:
1. sonar-gerrit-plugin-2.3.0.jar 将jar包复制到$SONARQUBE_HOME/extensions/plugins/下

2. 以admin用户登录sonarqube dashboard -> Administration -> Security -> Users

3. 选择要使用的user生成user token,该token作为jenkins登录sonarqube的用户凭证,保存好token。
4. 登录jenkins -> 系统管理 -> 系统设置 -> SonarQube servers
Name:${SonarQube servername}
Server URL : $SONARQUBE_URL
Server version : 5.3 or higher
Server authentication token:填入step3生成的token
点击保存

5. 以admin用户登录jenkins -> 系统管理 -> Gerrit Trigger
参考jenkins-gerrit-config.md内容配置
*****注意*****
点击高级
check Use REST API
Gerrit HTTP Username(jenkins发送sonarqube扫描结果至gerrit使用的账户)
Gerrit HTTP Password(jenkins发送sonarqube扫描结果至gerrit使用的账户)
check Enable Code-Review
check Enable Verified
点击保存

6. 以admin用户jenkins -> 系统管理 -> Global Tool Configuration
SonarQube Scanner -> SonarQube Scanner安装
SONAR_RUNNER_HOME ${SONAR_RUNNER_HOME}
点击保存

7. 创建jenkins job
新建-> 新建一个maven风格的项目
源码管理:选择Git
Repository URL: gerrit 代码仓库
Credentials:选择连接gerrit账号
Branches to build:*/master
构建触发器
选择Gerrit Event
Gerrit Trigger :
Choose a Server 选择step5的gerrit servername
Trigger on : 根据项目需要修改
参考jenkins-gerrit-config.md内容配置

8. Post Steps 增加Execute SonarQube Scanner
其他保留设为空
Additional arguments 增加以下配置:
-X (打印debug级别日志)
-DGERRIT_SCHEME=http (以http协议连接gerrit)
-DGERRIT_HTTP_AUTH_SCHEME=digest (gerrit默认的http认证)
-DGERRIT_HOST=gerrit.me (gerrit host)
-DGERRIT_HTTP_PORT=80  (访问gerrit web的端口)
-DGERRIT_HTTP_USERNAME=$gerrit_user (jenkins登录gerrit使用的账号)
-DGERRIT_HTTP_PASSWORD=$password (jenkins登录gerrit使用的账号)
-Dsonar.analysis.mode=preview (要生成sonar-gerrit-plugin要求的报告,必须使用preview mode)
-Dsonar.issuesReport.html.enable=true (sonar报告生成html格式)
-Dsonar.report.export.path=sonar-report.json (sonarqube报告的格式)

9. 增加构建后操作 Post Action
SonarQube Settings:
SonarQube URL: SonarQube 的访问地址
SonarQube report path: .sonar/sonar-report.json (sonarscanner扫描完成后会在workspace下生成.sonar文件夹,sonar-report.json报告存放在.sonar下)
Filter Settings:
Report issues having severity level higher or equal to:Major (反馈至gerrit的时候的issue 级别,可修改)
其他保持默认,点击保存

举例如下:
当向gerrit trigger监听的project/branch发生变化时,即可触发jenkins job execution, 执行效果参考
https://wiki.jenkins-ci.org/display/JENKINS/Sonar+Gerrit

jenkins wiki写的比较简略,其他隐藏条件没有写的很清楚
花了一天时间,查了各种github, stackoverflow,还拉了插件源码下来,终于搞定了,写个blog纪念一下。

补充踩过的坑:

如果不用admin账户进行操作,确保以下几点:

1. jenkins用于gerrit的账户属于NonInactive Users

2. 监听的project继承的user group必须包含jenkins user且属于owner权限

另一坑:

jenkins管理员邮箱必须与smtp认证的账号保持一致,才能发邮件

转载于:https://www.cnblogs.com/spillage/p/6181934.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值