HOME/Articles/

使用Sonar分析Jhipster生成应用的代码质量

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

3、访问查看项目质量分析报告 http://192.168.3.69:9001