Jenkins SonarQube SonarQube Scanner
- 针对 Jacoco + Jenkins + SonarQube & SonarQube Scanner 分为四个部分写的,建议阅读的顺序为:
- Jacoco Code Coverage
- Jenkins + Jacoco 持续集成代码覆盖率
- SonarQube & SonarQube Scanner
- Jenkins + SonarQube & SonarQube Scanner ⇦
操作步骤
- 第一步:安装插件,两种方式
-
Jenkins→系统管理→管理插件→可选插件→🔍SonarQube Plugin,如下图所示👇Install SonarQube Plugin -
直接下载 SonarQube Plugin,然后进入
Jenkins→系统管理→管理插件→高级→上传插件,点击选择文件找到之前下载的 sonar.hpi,如下图所示👇
Install SonarQube Plugin
然后点击上传即可!!!
Tip:第一种安装插件的方式有可能会失败,那么就选择第二种安装方式。还有一种情况,当 Jenkins 版本与 SonarQube Plugin 版本不匹配时也会导致安装插件失败。所以建议将 Jenkins 升级到最新版本
-
第二步:配置
SonarQube,进入Jenkins→系统管理→系统设置→SonarQube serversAdd SonarQube
点击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` 那一列,如图👇

会看到如下界面👇

2. 在`输入框`中输入任意字符(英文字母、中文、特殊字符)都可以,然后点击 `Generate` 按钮,会看到如图所示👇

3. 将所得的 `Token` 填入 `Jenkins` 的 `SonarQube servers` 的配置项中,如图👇

`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环境如何搭建及两者之间如何关联的描述已经结束了。欢迎各位看官,及时纠错,如有疑问,请在下方评论,谢谢







