文章目录
- 一、前期准备
- 1.1. jenkins 服务器搭建完成
- 1.2. sonarqube服务器搭建完成
- 二、Jenkins 配置
- 2.1. 安装 Sonar 插件
- 2.2. 配置 SonarQube servers
- 2.3. 配置 SonarQube Scanner
- 三、新建任务和配置
- 3.1. 添加描述
- 3.2. 设置最大构建数量,防止内存溢出
- 3.3. 添加项目远程拉取的地址链接
- 3.4. 在【构建环境】中选择【Execute SonarQube Scanner】
- 3.5. 在Pre Steps中设置扫描信息
- 四、构建项目和监控输出日志
- 4.1. 立即构建项目
- 4.2. 查看控制台监控日志输出
- 4.3. 编译、扫描成功
- 五、Jenkins集成SonarQube联合操作
- 5.1. Jenkins登录SonarQube
- 5.2. 扫描项目总览图
- 5.3. 点击bug或者异味,查看具体信息
- 六、总结最佳实践
- 6.1. SonarQube扫描的项目目录
- 6.2. 在Jenkins服务器中的工作空间路径
- 6.3. SonarQube扫描的项目的真实目录
一、前期准备
1.1. jenkins 服务器搭建完成
1.2. sonarqube服务器搭建完成
二、Jenkins 配置
2.1. 安装 Sonar 插件
【系统管理】-【管理插件】-【可选插件】-找到插件SonarQube Scanner进行安装
- 注:我已经安装 SonarQube Scanner for Jenkins插件了,未安装,应该在可选插件中进行搜索。
2.2. 配置 SonarQube servers
【系统管理】-【系统设置】-【SonarQube servers】
server url :sonarqube服务器地址
server auth:认证token
2.3. 配置 SonarQube Scanner
name | sonar-scanner名称 |
---|---|
SONAR_RUNNER_HOME | scanner的安装路径 |
name
三、新建任务和配置
3.1. 添加描述
3.2. 设置最大构建数量,防止内存溢出
3.3. 添加项目远程拉取的地址链接
3.4. 在【构建环境】中选择【Execute SonarQube Scanner】
3.5. 在Pre Steps中设置扫描信息
sonar.projectKey=gblfy
sonar.projectName=gblfy
sonar.projectVersion=1.0
sonar.java.binaries=target/classes
sonar.sources=src
#配置扫描语言 不设置扫描所有
#sonar.language=java
sonar.login=admin
sonar.password=admin
sonar.sourceEncoding=GBK
四、构建项目和监控输出日志
4.1. 立即构建项目
【立即构建】-【控制台输出】
4.2. 查看控制台监控日志输出
4.3. 编译、扫描成功
五、Jenkins集成SonarQube联合操作
5.1. Jenkins登录SonarQube
5.2. 扫描项目总览图
5.3. 点击bug或者异味,查看具体信息
六、总结最佳实践
6.1. SonarQube扫描的项目目录
- Jenkins集成SonarQube 扫描目录为在Jenkins中创建的工作空间中的任务名称
- 举个栗子:
6.2. 在Jenkins服务器中的工作空间路径
/app/jenkins/workspace
- 释义:默认jenkins工作空间,应该在
/root/.jenkins/workspace
,上面的工作空间在/app/jenkins/workspace
,是由于根据公司要求,修改了jenkins的默认路径。
6.3. SonarQube扫描的项目的真实目录
Jenkins工作空间+任务名称+指定扫描的目录
Jenkins工作空间+任务名称+指定扫描的目录
那咱们举个栗子:
说明 | 路径 |
---|---|
Jenkins工作空间 | /app/jenkins/workspace |
任务名称 | Jenkins_SonarQube |
指定扫描的目录 | src |
最终路径 | /app/jenkins/workspace/Jenkins_SonarQube/src |