Article Outline
使用Sonar分析Jhipster生成应用的代码质量
一、Jhipster官方文档中的说明:
JHipster为Sonar提供了Docker Compose配置,在项目跟目录下启动sonar:
docker-compose -f src/main/docker/sonar.yml up -d
自动代码分析
JHipster生成器项目发布一个示例项目,每次在“master”分支中合并一个新的提交时都会分析该示例项目:
Analysis of the sample JHipster project
这允许JHipster团队确保您将开始在尽可能干净的代码上开发项目。 此分析由 SonarCloud免费提供。
二、我的实验环境
我在两台机器上做实验,项目代码在本机的e:\home\e2e-test目录下,sanor服务器部署在装有git 和docker的linux机器192.168.3.69上.
建议: 我已经在192.168.3.69上部署了sonar服务,可以直接使用,用户名和密码都是admin.如果你想对你的项目质量做个评估,你可以在每次提交代码到本地master分支后,执行如下命令来执行一次扫描:
sonar-scanner
三、实验步骤
1、服务器上安装并启动sonar服务
mkdir /opt/sonar
cd /opt/sonar
#复制本机的E:\home\e2e-test\src\main\docker\sonar.yml到/opt/sonar目录
winscp……
# 启动sonar
docker-compose -f sonar.yml up -d
# 进入容器安装中文语言包,容器的名称是docker_<JH项目名>-sonar_1(可查看sonar.yml)
docker exec -it docker_e2e-sonar_1 bash
cd /opt/sonarqube/extensions/plugins
wget https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.27/sonar-l10n-zh-plugin-1.27.jar
#下载完毕,退出容器,重新启动容器
exit
docker restart docker_e2e-sonar_1
# 访问http://192.168.3.69:9001就可以看到中文界面了
2、本机安装声呐扫描器sonar-scanner并开始扫描jhipster项目
修改项目根目录下声呐配置文件 sonar-project.properties
……
sonar.host.url=http://192.168.3.69:9001
……
#添加一行新配置
sonar.java.binaries=target/classes
- 如果使用maven上一步可以自动执行如下命令来配置
mvn -Pprod clean verify sonar:sonar -Dsonar.host.url=http://192.168.3.69:9001
- 如果需要重新运行声纳阶段,请确保至少指定initialize 阶段,因为声纳属性是从sonar-project.properties文件加载的。
mvn initialize sonar:sonar -Dsonar.host.url=http://192.168.3.69:9001
安装 声呐扫描器 sonar-scanner
- 建议:将声呐扫描器的安装目录下的bin目录添加到系统环境变量中
执行声呐扫描
cd <项目根目录>
sonar-scanner