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=.

标签