1. Jenkins 上安装配置 SonarQube Plugin 插件
首先安装 SonarQube Plugin 插件(会有几个依赖插件)。然后做如下配置:
1.1 将 Jenkins 关联 Sonar
定位到 ` “Manage Jenkins”->”Configure System”->”SonarQube servers”->
“SonarQube installations”->”Add SonarQube” ` 配置如下然后保存:
Name: Sonar
Server URL: http://192.168.56.11:9000/
Server version: 5.3 or higher
1.2 配置 SonarQube Scanner
定位到 ` “Manage Jenkins”->”Global Tool Configuration”->”SonarQube Scanner”->
“SonarQube Scanner installations”->”Add SonarQube Scanner” `配置如下然后保存:
Name: Sonar Scanner
不选择 Install automatically
SONAR_RUNNER_HOME: /usr/local/sonar-scanner
# SonarQuber Scanner 和 Jekins 是在同一台服务器上 ,SonarQube Server 不需要
2. 配置 Jekins 项目的构建
选择之前配置的 auto-deploy 项目,在 Build 下配置如下后保存:
选择 Execute SonarQube Scanner
Analysis properties 配置如下:
sonar.projectKey=demo
sonar.projectName=demo
sonar.projectVersion=1.0
sonar.sources=./
sonar.language=php
sonar.sourceEncoding=UTF-8
这里的 Analysis properties 有 2 种方法:
- 让研发在项目根目录放置包含以上内容的 SonarQube Scanner 配置文件
- 如上,在项目构建上手动配置
3. 测试 Jenkins 项目构建
选择 “auto-deploy” 项目,点击 “Build Now” 立即构建。
查看 Output 是否构建成功。(Output 是实时显示的。)
Jekins 项目主页上有 Sonar 快捷方式,可以点击查看代码扫描的具体结果。
可以在 SonarQuber 首页添加配置一些 widgets:
- Integration Tests Coverage 集成测试覆盖率
- Documentation & Comments 文档和注释
4. 配置 Jekins 项目构建后操作
可配置邮件通知,当构建失败时发送邮件通知。
邮件通知需要先配置好,如下:
配置系统管理员邮箱地址
定位到 "Manage Jenkins"->"Configure System"->"Jenkins Location"
System Admin e-mail address: 779432xxx@qq.com
(以 QQ 邮箱演示)
配置 E-mail Notification
然后再定位到"Manage Jenkins"->"Configure System"->"E-mail Notification"
,配置如下图示:
将 SonarQube 服务关闭,然后构建项目,由于 SonarQube 服务无法访问所以肯定会导致项目构建失败从而触发邮件通知。
最后,我们把 auto-deploy 项目改名成 demo-sonar。
遇到的问题
4 次构建失败,而且 Jekins 进程也自动关掉了,初步判断是测试的虚拟机内存不足原因。