Jenkins
SonarQube
SonarQube Scanner
- 针对 Jacoco + Jenkins + SonarQube & SonarQube Scanner 分为四个部分写的,建议阅读的顺序为:
- Jacoco Code Coverage
- Jenkins + Jacoco 持续集成代码覆盖率
- SonarQube & SonarQube Scanner
- Jenkins + SonarQube & SonarQube Scanner ⇦
操作步骤
- 第一步:安装插件,两种方式
-
Install SonarQube PluginJenkins
→系统管理
→管理插件
→可选插件
→🔍SonarQube Plugin
,如下图所示👇 -
直接下载 SonarQube Plugin,然后进入
Install SonarQube PluginJenkins
→系统管理
→管理插件
→高级
→上传插件,点击选择文件
找到之前下载的 sonar.hpi,如下图所示👇
然后点击上传即可!!!
Tip:第一种安装插件的方式有可能会失败,那么就选择第二种安装方式。还有一种情况,当 Jenkins 版本与 SonarQube Plugin 版本不匹配时也会导致安装插件失败。所以建议将 Jenkins 升级到最新版本
-
第二步:配置
Add SonarQubeSonarQube
,进入Jenkins
→系统管理
→系统设置
→SonarQube servers
点击Add SonarQube
会看到如下图所示界面👇
参数配置界面
参数说明:
required:
Name:SonarQube
optional:
Server URL:http://IP:9000/
Server version:根据安装的 SonarQube 版本自行选择
Server authentication token:这个参数需要在 SonarQube 平台上单独生成,下面进行说明
SonarQube account login:登录 SonarQube 用户名
SonarQube account password:登录 SonarQube 密码
Database URL:这个参数的值,其实就是 `SonarQube & SonarQube Scanner` 这篇文章,修改 `sonar.properties` 配置中
`sonar.jdbc.url` 的值
Database login:登录数据库用户名
Database password:登录数据库密码
(剩下的都是可选参数,就不一一列举了,上面说的这些都是最常用的,下面对 Server authentication token 这个参数说明一下)
`Server authentication token` 生成
1. 登录 `SonarQube` → `配置` → `权限` → `选择用户` → `管理员` → 点击 admin 用户 `Tokens` 那一列,如图👇
![只要是管理员用户就可以,没必要一定是admin用户](http:https://img.haomeiwen.com/i4979007/c9f00ad576f5894b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
会看到如下界面👇
![Generate Token](http:https://img.haomeiwen.com/i4979007/1f2e18c9da7fee26.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2. 在`输入框`中输入任意字符(英文字母、中文、特殊字符)都可以,然后点击 `Generate` 按钮,会看到如图所示👇
![Token](http:https://img.haomeiwen.com/i4979007/ee7a603dcfcf86eb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3. 将所得的 `Token` 填入 `Jenkins` 的 `SonarQube servers` 的配置项中,如图👇
![SonarQube servers](http:https://img.haomeiwen.com/i4979007/37105613d8a968a6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
`Tip:理论上来讲,只要配置上图中的 Name 和 Server URL 这两个参数就OK了`
-
第三步:配置
sonar-scanner
,进入Jenkins
→系统管理
→Global Tool Configuration
→ 找到SonarQube Scanner
,如图👇
点击SonarQube Scanner 安装...
点击新增 SonarQube Scanner
如果不想用自动安装
这种方式,安装的话,那就取消勾选
,将自行下载的sonar-scanner
上传至服务器,然后将存放的路径写入
SONAR_RUNNER_HOME
的输入框,如果所示👇 -
第四步:在
JOB
中配置Execute SonarQube Scanner
,进入你想要增加SonarQube Scanner
静态代码检测的项目中,点击配置
→构建
→ 点击增加构建步骤
→ 选择Execute SonarQube Scanner
,如图👇
Tip:
如果是在 Maven 项目中,想要添加 `Execute SonarQube Scanner`
的话,则选择
Pre Steps → Add pre-build step → Execute SonarQube Scanner
or
Post Steps → Add post-build step → Execute SonarQube Scanner
Select Execute SonarQube Scanner
Execute SonarQube Scanner Plugin
选择
JDK
并且将 SonarQube & SonarQube Scanner 这篇文章中的 sonar-project.properties
的参数填入 Analysis properties
中,如图👇
Configuration Scanner
然后点击
保存
,回到 JOB
页面,点击立即构建
测试一下,如果成功的话会看到 SonarQube
的入口,如图👇
Success
点击图中的
SonarQube
,跳转至 SonarQube
平台对应的项目中去,如图👇
SonarQube
至此
Jacoco +
Jenkins +
SonarQube &
SonarQube Scanner环境如何搭建及两者之间如何关联的描述已经结束了。欢迎各位看官,及时纠错,如有疑问,请在下方评论,谢谢
网友评论