SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。
简介
SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。
官方网址:https://www.sonarsource.com/products/sonarqube/
安装
基础环境
安装docker
安装docker-compose
1 2 3 4 5
| wget https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-linux-x86_64 mv docker-compose-linux-x86_64 docker-compose chmod +x docker-compose mv docker-compose /usr/local/bin/ docker-compose -v
|
创建目录
1 2 3
| mkdir -p /data/servers/sonarqube/data cd /data/servers/sonarqube/data mkdir -p postgresql postgresql_data sonarqube_data sonarqube_extensions sonarqube_logs
|
配置LDAP
1
| vim /data/servers/sonarqube/data/sonar.properties
|
1 2 3 4
| ldap.url=ldap://ldap.zhaohongye.com:389 ldap.bindDn=cn=admin,dc=zhaohongye,dc=com ldap.bindPassword=password ldap.user.baseDn=ou=people,dc=zhaohongye,dc=com
|
docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| version: "3"
services: sonarqube: image: sonarqube depends_on: - db environment: SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar SONAR_JDBC_USERNAME: sonar SONAR_JDBC_PASSWORD: Ixv9BDUvWyilminV volumes: - /data/servers/sonarqube/data/sonarqube_data:/opt/sonarqube/data - /data/servers/sonarqube/data/sonarqube_extensions:/opt/sonarqube/extensions - /data/servers/sonarqube/data/sonarqube_logs:/opt/sonarqube/logs - /data/servers/sonarqube/data/sonar.properties:/opt/sonarqube/conf/sonar.properties ports: - "9000:9000" privileged: true db: image: postgres environment: POSTGRES_USER: sonar POSTGRES_PASSWORD: Ixv9BDUvWyilminV volumes: - /data/servers/sonarqube/data/postgresql:/var/lib/postgresql - /data/servers/sonarqube/data/postgresql_data:/var/lib/postgresql/data privileged: true
|
配置内核参数
1 2
| echo "vm.max_map_count=262144" >> /etc/sysctl.conf sysctl -p | grep vm.max_map_count
|
启动服务
检查9000端口是否处于监听状态,浏览器访问http://localhost:9000, 账号为admin,初始密码为admin
CICD集成
1 2 3 4 5 6 7
| mvn sonar:sonar -U \ -Dsonar.projectKey=${service_name} \ -Dsonar.host.url=https://sonar.zhaohongye.com \ -Dsonar.login=token \ -Dsonar.java.binaries=target/sonar
|
效果