spring boot项目使用sonarqube审核代码

2023-02-14

https://www.sonarsource.com/products/sonarqube/deployment/

sonar最新版本为9.9.0,默认jdk11,不支持jdk8(运行sonar的jre不能低于11).

# docker安装

docker pull sonarqube:9.9.0-community
docker run -itd --name sonar-demo sonarqube:9.9.0-community

//之后会自动启动,管理页端口为9000,默认帐号/密码: admin/admin,第一次进入管理页要重置密码,创建项目,

# maven pom增加plugin 


<plugin>
	<groupId>org.sonarsource.scanner.maven</groupId>
	<artifactId>sonar-maven-plugin</artifactId>
	<version>3.7.0.1746</version>
</plugin>

# pom增加配置

<profiles>    <!--sonar配置-->
    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <sonar.host.url>http://172.17.0.2:9000</sonar.host.url>
            <sonar.login>sqp_28ad96927f96f466b3f4f697df5fdf4b0546b646</sonar.login>
            <sonar.projectKey>service</sonar.projectKey>
        </properties>
    </profile>
</profiles>

# idea maven插件执行 sonar:sonar 即可

mvn clean verify sonar:sonar \
  -Dsonar.projectKey=service \
  -Dsonar.host.url=http://172.17.0.4:9000 \
  -Dsonar.login=sqp_260e36270b2cb037a70b83bdc7b11f39478cc7ae

 

# 本地项目和环境皆是jdk8时,

//先使用本地环境打包
export JAVA_HOME=/doc/tools/jdk1.8.0_261
mvn package

//使用jdk11运行sonar scanner
export JAVA_HOME=/doc/tools/jdk-11.0.2
mvn sonar:sonar \
  -Dsonar.projectKey=service \
  -Dsonar.host.url=http://172.17.0.3:9000 \
  -Dsonar.login=sqp_28ad96927f96f466b3f4f697df5fdf4b0546b646
export JAVA_HOME=/doc/tools/jdk1.8.0_261