Jenkins集成SonarQube扫描代码

工作原理:

留在本地的有:
- 源代码文件(.java, .js, .py等)
- 二进制文件
- 项目资源文件
- 任何实际代码内容
发送到sonarqube服务器上的有:
- 代码质量指标(复杂度、重复率、测试覆盖率等)
- 问题列表(bug、漏洞、坏味道)
- 统计信息(代码行数、注释率等)
- 分析摘要和趋势图表
- 规则违规位置(文件路径+行号)
总结:源代码放在本地,只是将最终扫描结果发送到sonarqube服务器上
jenkins版本:2.492.3
sonarqube版本:25
1、首先在Jenkins中安装插件,如图:

2、在Sonarqube中配置相关权限,点击全局配置,然后选择SCM,打开,如下:



3、sonarqube生成token,点击My account-Security-Generate,如图:



把生成的token保存好,一会要用
4、Jenkins上安装SonarQubeScanner,点击系统管理–全局工具设置,如下:

5、配置凭据,用于jenkins连接sonarqube,点击系统管理–Credentials-全局-Add Credentials,类型选择Secret text,输入之前在sonarqube中生成的token,如图:

6、点击系统管理–系统工具,在里面配置连接sonarqube,如图:

注:如果没有使用Jenkins自带的sonar插件,那么就需要勾选Environment variables,其余时候不勾选
7、Jenkins安装的sonarqube插件默认是安装在$JENKINS_HOME/tools路径下,进入路径下,执行测试命令,看是否能连接到sonarqube服务器,如下:
sonar-scanner \
-Dsonar.projectKey=test \
-Dsonar.host.url=http://your-server:9000 \
-Dsonar.login=your_token \
-Dsonar.sources=.



