服务端部署
version: "3"
services:
sonarqube:
image: sonarqube:lts-community
environment:
SONAR_JDBC_URL: jdbc:postgresql://10.8.30.156:5432/sonarqube
SONAR_JDBC_USERNAME: sonarqubeAdmin
SONAR_JDBC_PASSWORD: sonarqubeAdmin_123
SONAR_JDBC_MAXACTIVE: "100"
SONAR_JDBC_MAXIDLE: "10"
SONAR_JDBC_MINIDLE: "5"
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
ports:
- "9000:9000"
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
部署成功:
体验
在服务端新增项目:
这个项目是一个maven 构建的项目,项目是scala 的,
按照提示执行 maven
命令:
mvn sonar:sonar \
-Dsonar.projectKey=et \
-Dsonar.host.url=http://10.8.30.158:9000 \
-Dsonar.login=d3ce7e00c8fcc9adc3b85b97d3c1005766cb2498
使用 idea ide
的 可以在安装插件,
File
--->Settings...
--->Plugins
查找sonar
可以找到插件,安装即可
安装 sonarscanner
执行后,代码扫描完成,
可以看到总览。
Jenkins 集成
Jenkins 安装 插件 SonarQube Scanner for Jenkins
在 Jenkins 添加 凭据:
在 系统管理 ---> 系统配置中 ---> SonarQube servers
在项目构建配置中添加
构建成功完成后:
点击上图框的图标,就可以看到 静态扫描的总览了
代码规则
sonarQube
支持自定义代码规则
下面以 go 语言配置为例:
内置的规则不能直接修改,复制内置的规则模板:
可以选择 启用和禁用相关规则: