SonarQube
https://sonarqube.hogwarts.ceshiren.com/
username: hogwarts202309
password: ceshiren.com
部署
#通用部署
docker run -d \
--name sonarqube_temp \
-p 9000:9000 -p 9092:9092 \
sonarqube
正式部署
#创建容器网络
docker network create sonarqube
#创建数据库容器实例
docker run -d \
--name sonarqube_postgres \
--network sonarqube \
-e POSTGRES_USER=sonarqube \
-e POSTGRES_PASSWORD=sonarqube \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v $PWD/postgresql_data:/var/lib/postgresql/data \
postgres
#创建sonarqube容器实例,可以通过-Xms4g -Xmx4g增加下ES的堆内存大小
#mac环境需要加 -e SONAR_SEARCH_JAVAADDITIONALOPTS="-Dbootstrap.system_call_filter=false"
docker run -d \
--name sonarqube_hogwarts \
-p 9000:9000 -p 9092:9092 \
--network sonarqube \
-e SONARQUBE_JDBC_USERNAME=sonarqube \
-e SONARQUBE_JDBC_PASSWORD=sonarqube \
-e SONARQUBE_JDBC_URL="jdbc:postgresql://sonarqube_postgres/sonarqube" \
-e SONAR_SEARCH_JAVAADDITIONALOPTS="-Xms2g -Xmx2g" \
-e SONARQUBE_WEB_JVM_OPTS="-Xms1g -Xmx1g" \
-v $PWD/sonarqube_data:/opt/sonarqube/data \
-v $PWD/sonarqube_extensions:/opt/sonarqube/extensions \
-v $PWD/sonarqube_logs:/opt/sonarqube/logs \
sonarqube
export SQ_HOST=https://sonarqube.hogwarts.ceshiren.com/
export SQ_TOKEN=sqa_75f342f46439662ab655868fe8fa25efdba12e02
cd sonar-scanning-examples/sonarqube-scanner
sonar-scanner -Dsonar.host.url=$SQ_HOST -Dsonar.login=$SQ_TOKEN
演练示例
git clone https://github.com/SonarSource/sonar-scanning-examples.git
cd sonar-scanning-examples
scanner
课间练习
- 搭建sonarqube 可选 可以使用公共演练环境
- 创建token
- 下载示例项目
- 下载sonar-scanner
- 分析一段项目代码并上传到sonarqube
代码审计与分析
git clone https://github.com/linlinjava/litemall.git
cd litemall
代码规则
覆盖率统计
mvn clean \
org.jacoco:jacoco-maven-plugin:prepare-agent test \
org.jacoco:jacoco-maven-plugin:report \
org.sonarsource.scanner.maven:sonar-maven-plugin:LATEST:sonar \
-Dmaven.test.skip=false -Dmaven.test.failure.ignore=true \
-Dsonar.host.url=$SQ_HOST -Dsonar.login=$SQ_TOKEN