Jenkins集成SonarQube

安装插件SonarQube Scanner for Jenkins


image.png

如果在插件库里没有找到,可以选择离线安装


Jenkins上配置

(1)要检测的代码机器上安装SonarQube
Windows下安装sonarqube:https://www.jianshu.com/p/118dcf612333
Mac下安装sonarQube:https://www.jianshu.com/p/82b59e456772
(2)生成并保存token
(3)Jenkins中保存代码机器上生成的token


image.png

image.png

选择在上一步起的名字就可以啦


创建扫描任务



任务配置SonarQube

1.进入需要扫描的任务,然后选择Configure


2.任务配置SonarQube


注意:sonar.java.binaries 这个路径可以自己新建一个文件的路径填上,试了一下不是源码的路径

问题:
1.在使用jenkins扫描时,出现错误:Error during SonarScanner execution
生成报告失败。


此时需要查看一下脚本机器上的sonar日志(web.log)
出现错误:java.lang.IllegalStateException: Fail to insert data of CE task AXUg4OVBkeXYtano5Rwg

原因:写入不到数据库
解决方案:
1.临时方案,只要重启数据库就失效
(1)进入sonar数据库use sonar;
(2)show VARIABLES like '%max_allowed_packet%';

(3)设置值:set global max_allowed_packet = 1024*1024*1024;
(4)生效配置:flush privileges;

(5)记得退出数据库再重新看值是否修改成功
2.永久方案:
(1)到数据库的配置文件my.ini中,增加
max_allowed_packet = 64M
(2)重启数据库

你可能感兴趣的:(Jenkins集成SonarQube)