一 【官网】
二 【介绍】
SonarQube®是一种自动代码审查工具,可检测代码中的错误,漏洞和代码味道。它可以与您现有的工作流程集成,以实现跨项目分支和提取请求的连续代码检查。
在典型的开发过程中:
- 开发人员在IDE中开发和合并代码(最好使用SonarLint在编辑器中接收即时反馈),然后将其代码签入ALM。
- 组织的持续集成(CI)工具可以检出,构建和运行单元测试,而集成的SonarQube扫描仪可以分析结果。
- 扫描程序将结果发布到SonarQube服务器,该服务器通过SonarQube接口,电子邮件,IDE内通知(通过SonarLint)和对拉取或合并请求的修饰(使用Developer Edition及更高版本时)向开发人员提供反馈。
三 【部署】
最新版本:社区版
docker.io/sonarqube:8.7-community
docker部署方式
8 以上的版本不支持mysql作为数据库,本地为开发环境,所以使用了默认的h2数据库
docker run -d --name sonarqube-8.7 -p 9000:9000 -v /data/sonarqube/data:/opt/sonarqube/data -v /data/sonarqube/extensions:/opt/sonarqube/extensions -v /data/sonarqube/logs:/opt/sonarqube/logs docker.io/sonarqube:8.7-community |
---|
汉化插件:sonar-l10n-zh-plugin-1.16.jar
挂载路径:/data/sonarqube/extensions/plugins/
重启docker生效
四 【jenkins接入】
4.1 程序流部署,安装jenkins插件。
4.2 系统配置
4.3 jenkins 构建页面配置
配置参数
sonar.projectKey=servername sonar.language=java sonar.sources=$WORKSPACE |
---|
五 【jenkins+pipeline+sonarqube】
stage('SonarQube analysis') { steps{ sh ''' mvn -f pom.xml clean compile sonar:sonar -Dsonar.host.url=http://192.168.1.1:9000 -Dsonar.login=96cf21c5c154f35a4df296e441d7053114ba2079 ''' } } |
---|