sonar-gerrit plugin配置
来源:互联网 发布:mac系统怎么安装flash 编辑:程序博客网 时间:2024/05/22 04:46
配置 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认证的账号保持一致,才能发邮件
- sonar-gerrit plugin配置
- sonar plugin
- sonar Cobertura Plugin
- gerrit install plugin
- 配置sonar
- Gerrit配置
- gerrit 配置
- Delete project plugin for Gerrit
- Gerrit replication plugin的使用说明
- 软件项目管理平台:repo+gerrit+jenkins+gitlab+sonar+redmine
- sonar:gradle集成sonar插件配置方式
- Jenkins + Gerrit Trigger Plugin + Gerrit实现precommit和postcommit workflow
- sonar 安装配置笔记
- Sonar安装与配置
- sonar 安装配置笔记
- Sonar分析参数配置
- 安装并配置sonar
- 安装配置sonar
- SpringMVC接受JSON参数详解及常见错误总结
- C/C++常用函数使用总结
- Oracle SQL LOADER的使用方法
- jQuery实现弹幕效果
- 手动更新NIS服务的用户密码
- sonar-gerrit plugin配置
- 浅析为什么要有auto_ptr_ref这个类
- 【书山有路】SQL必知必会 第3课
- 【SpringMVC 】Spring MVC4.X @ResponseBody日期类型Json处理
- PHP二维数组排序
- fl2440——Platform-LED实例
- 发生java.lang.UnsupportedOperationException异常的原因
- 【MySQL】20个经典面试题,全部答对月薪10k+
- 一个canvas小游戏,井字棋