安装插件SonarQube Scanner for Jenkins
![](https://img.haomeiwen.com/i23724430/5f614f59f468431f.png)
![](https://img.haomeiwen.com/i23724430/1591428c104421c5.png)
如果在插件库里没有找到,可以选择离线安装
![](https://img.haomeiwen.com/i23724430/28cf608f4cf065af.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
![](https://img.haomeiwen.com/i23724430/77f3e537bc7ed58c.png)
![](https://img.haomeiwen.com/i23724430/bb894c37153a54a8.png)
![](https://img.haomeiwen.com/i23724430/5f614f59f468431f.png)
![](https://img.haomeiwen.com/i23724430/eaf7d4e5a925f326.png)
选择在上一步起的名字就可以啦
![](https://img.haomeiwen.com/i23724430/5b89e4e22d1dd26e.png)
创建扫描任务
![](https://img.haomeiwen.com/i23724430/36b04443bddf7290.png)
![](https://img.haomeiwen.com/i23724430/bbb7c7615b92dbea.png)
![](https://img.haomeiwen.com/i23724430/6295ec7f25178970.png)
任务配置SonarQube
1.进入需要扫描的任务,然后选择Configure
![](https://img.haomeiwen.com/i23724430/ee239ac2e254c011.png)
2.任务配置SonarQube
![](https://img.haomeiwen.com/i23724430/53da3854f9439554.png)
![](https://img.haomeiwen.com/i23724430/820b05f6b4eb5c56.png)
注意:sonar.java.binaries 这个路径可以自己新建一个文件的路径填上,试了一下不是源码的路径
问题:
1.在使用jenkins扫描时,出现错误:Error during SonarScanner execution
生成报告失败。
![](https://img.haomeiwen.com/i23724430/e04a178490dd5ac2.png)
此时需要查看一下脚本机器上的sonar日志(web.log)
出现错误:java.lang.IllegalStateException: Fail to insert data of CE task AXUg4OVBkeXYtano5Rwg
![](https://img.haomeiwen.com/i23724430/d06cac175363ad4c.png)
原因:写入不到数据库
解决方案:
1.临时方案,只要重启数据库就失效
(1)进入sonar数据库
use sonar;
(2)
show VARIABLES like '%max_allowed_packet%';
![](https://img.haomeiwen.com/i23724430/3fdd364d5c9cdc7c.png)
(3)设置值:
set global max_allowed_packet = 1024*1024*1024;
(4)生效配置:
flush privileges;
![](https://img.haomeiwen.com/i23724430/4744f2df568fb0e5.png)
(5)记得退出数据库再重新看值是否修改成功
2.永久方案:
(1)到数据库的配置文件my.ini中,增加
max_allowed_packet = 64M
(2)重启数据库
网友评论