【笔记】通过Jenkins调用SonarQube进行代码检测

前言

通过Jenkins调用SonarQube进行代码检测

安装插件

  • Manage Jenkins->Plugins->Available plugins->搜索并安装SonarQube Scanner插件

配置SonarQube服务器地址

  • Manage Jenkins->System->配置SonarQube servers->保存

配置SonarQube身份认证

  • Manage Jenkins->System->SonarQube servers->添加->Jenkins

  • 类型改为Secret text->将Secret中输入从SonarQube获取的Token->添加

  • 选择Secret text->保存

下载SonarScannerCli客户端并放到Jenkins工作目录

1
2
3
4
5
cd /var/jenkins_home/
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.0.2311-linux.zip
unzip sonar-scanner-cli-4.6.0.2311-linux.zip
rm sonar-scanner-cli-4.6.0.2311-linux.zip
mv sonar-scanner-4.6.0.2311-linux sonar-scanner-cli

在Jenkins中配置SonarScannerCli客户端的环境变量

  • Manage Jenkins->Global Tool Configuration->配置客户端的根目录路径->完成

在任务中添加SonarQube的配置

完成

踩坑

  • 报错:java.lang.IllegalStateException: Failed to create lock in /var/jenkins_home/workspace/demo/.scannerwork/.sonar_lock

原因

  • 之前通过其他方式将代码提交到SonarQube检测过

解决问题

  • 删除项目根目录下的.scannerwork目录
1
rm -r .scannerwork

参考文献

哔哩哔哩——云原生技术架构