Sonar实战
- 官网: https://www.sonarqube.org/
- 官方文档: SonarQube 9.9
- 插件: https://www.sonarplugins.com/
- docker镜像: Docker
sonarqube部署
临时性部署
docker run -d --name sonarqube \
-p 9000:9000 -p 9092:9092 \
sonarqube
8.x以上的版本部署
docker run -d \
--privileged=true \
--name sonarqube_postgres \
-e POSTGRES_USER=sonarqube \
-e POSTGRES_PASSWORD=sonarqube \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v $PWD/postgresql:/var/lib/postgresql/data \
postgres
mkdir sonarqube_data sonarqube_extensions sonarqube_logs
#mac无需执行以下命令,linux需执行
chown -R 999:999 sonarqube_data sonarqube_extensions sonarqube_logs
#docker启动sonarqube
docker run -d --name sonarqube_hogwarts -p 9000:9000 -p 9092:9092 --link sonarqube_postgres:db \
-e SONARQUBE_JDBC_USERNAME=sonarqube -e SONARQUBE_JDBC_PASSWORD=sonarqube \
-e SONARQUBE_JDBC_URL="jdbc:postgresql://db/sonarqube" \
-v $PWD/sonarqube_data:/opt/sonarqube/data \
-v $PWD/sonarqube_extensions:/opt/sonarqube/extensions \
-v $PWD/sonarqube_logs:/opt/sonarqube/logs \
sonarqube
访问 http://127.0.0.1:9000
用户名:admin 密码:admin
演练项目
git clone https://github.com/SonarSource/sonar-scanning-examples.git
cd sonar-scanning-examples
sonar-scanner
#login为生成的token
#js项目
sonar-scanner \
-Dsonar.host.url=http://127.0.0.1:9000 \
-Dsonar.login=你sonar生成的token值
#maven项目
mvn clean verify sonar:sonar \
-Dsonar.host.url=http://127.0.0.1:9000 \
-Dsonar.login=你sonar生成的token值
小坑
使用sonar-scanner的时候,会因为以下插件导致扫描失败
AEM Rules for SonarQube插件不支持jdk1.8