文章目录
第七篇:jenkins+SonarQube实现代码质量管理
附:SonarQube版本说明
- Community Edition:这是SonarQube的免费开源版本,适用于小型团队和个人使用。
- Developer Edition:这是SonarQube的收费版本之一,适用于中小型企业或组织,提供更多的功能和支持。
- Enterprise Edition:这是SonarQube的收费版本之一,适用于大型企业或组织,提供更高级别的功能和支持。
LTS 长期维护版本,例:lts-community:长期维护的免费开源版本
一、SonarQube安装
使用
Docker-compose方式
1.1 docker-compose.yml
version: "3"
services:
sonarqube:
image: sonarqube:lts-community
container_name: sonarqube
depends_on:
- db
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: 密码
volumes:
- /HLW/service/sonarqube/sonarqube_data:/opt/sonarqube/data
- /HLW/service/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions
- /HLW/service/sonarqube/sonarqube_logs:/opt/sonarqube/logs
ports:
- "9010:9000"
networks:
- sonarnet
db:
image: postgres:latest
container_name: db
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: 密码
volumes:
- /HLW/service/sonarqube/postgresql:/var/lib/postgresql
- /HLW/service/sonarqube/postgresql_data:/var/lib/postgresql/data
ports:
- "15432:5432"
networks:
- sonarnet
networks:
sonarnet:
driver: bridge
1.2 设置vm.max_map_count
[root@localhost service]# vim /etc/sysctl.conf
...省略
vm.max_map_count=250520
[root@localhost service]# sysctl -p
不设置将会报错:
ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /opt/sonarqube/logs/sonarqube.log
1.3 启动容器
docker-compose up -d
1.4 中文插件安装
- 按图操作
- 安装成功后,会查看到重启按钮,点击即可
-
开启Sonar Qube权限验证,一定要开启,否则会有绕过身份认证漏洞
二、Sonar-scanner安装
-
Sonar-scanner下载地址:https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/scanners/sonarscanner/
-
下载后上传至服务器,解压
-
配置文件修改,配置文件为为conf/sonar-scanner.properties
三、jenkins配置
3.1 插件安装
jenkins配置管理-插件管理,安装插件SonarQube Scanner for Jenkins
3.2 获取Sonar Qube的令牌
如图操作即可:
3.3 Jenkins添加Sonar Qube凭据
如图操作即可:
3.4 Jenkins配置Sonar Qube
如图操作即可:
3.5 Jenkins配置Sonar scanner
如图操作即可:
四、配置构建任务的Sonar Scanner
4.1 任务配置
如图操作:
Analysis properties
可参照此配置,也可根据需求自定义
sonar.projectname=${JOB_NAME}
sonar.projectKey=${JOB_NAME}
sources=./
sonar.java.binaries=library-manager-server/target/
注意:sonar.java.binaries 请根据自己项目的target相对路径修改
4.2 效果展示
任务配置完后,执行构建操作,构建完成后,效果如图:
点击 SonarQube