|
@@ -102,7 +102,7 @@ node {
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-### 4. 【后端开发】idea添加sonar插件
|
|
|
+### 4. ~~【后端开发】idea添加sonar插件~~
|
|
|
1. 插件市场名字:SonarQube for IDE, 别名:SonarLint
|
|
|
[插件官网地址](https://plugins.jetbrains.com/plugin/7973-sonarqube-for-ide)
|
|
|
配置了远程SonarQube的hostUrl和token以后可以使用。
|
|
@@ -112,7 +112,10 @@ node {
|
|
|
- git提交代码之前sonarLint会提示代码commit的代码有哪些问题。
|
|
|
【目的】:做到提前修复,避免在jenkins部署时候出现一堆需要修改的代码耽误部署时间。
|
|
|
|
|
|
-### 5. 【后端开发】sonar-maven-plugin插件安装使用
|
|
|
+> (1)该插件只能检测sonarqube默认的规则,不能检测阿里巴巴的基于pmd的p3c规则, 原因:https://blog.csdn.net/weixin_42617348/article/details/81170166;
|
|
|
+> (2)开发过程中,要通过maven的sonar插件规则校验。
|
|
|
+
|
|
|
+### ~~5. 【后端开发】sonar-maven-plugin插件安装使用~~
|
|
|
maven配置参考官网
|
|
|
[8.9版本](https://docs.sonarsource.com/sonarqube-server/8.9/analyzing-source-code/scanners/sonarscanner-for-maven/)
|
|
|
[最新版本](https://docs.sonarsource.com/sonarqube-server/latest/analyzing-source-code/scanners/sonarscanner-for-maven/)
|
|
@@ -120,12 +123,26 @@ maven配置参考官网
|
|
|
* pom.xml升级parent依赖,com.platomix:platomix-pom:1.2.2;
|
|
|
* 执行命令`mvn clean package sonar:sonar` 或者 直接使用sonar-scanner软件扫描。
|
|
|
|
|
|
-### 6. 【前端开发】vscode添加sonar插件
|
|
|
+### 6. 【后端开发】maven-pmd-plugin插件安装使用
|
|
|
+1. 每个项目的根目录下放置[ali-pmd.xml](ali-pmd.xml)文件;
|
|
|
+2. pom.xml升级parent依赖,com.platomix:platomix-pom:1.2.4;
|
|
|
+3. 开发过程中,通过idea的Alibaba Java Code Guidelines插件扫描,然后通过clean package时,会通过maven-pmd-plugin插件检测代码(检测规则与插件差不多,比插件会少一些)。
|
|
|
+
|
|
|
+> 问:为什么JAVA后端不使用sonar插件结合SonarQube服务做静态代码检测?
|
|
|
+> 答:主要原因是想使用ali-p3c代码校验规则,导致在开发过程中无法快捷方便的检测,详细情况如下:
|
|
|
+> (1) SonarQube支持基于pmd的p3c代码规则,但是IDEA插件SonarLint不支持【仅支持SonarQube的默认规则,原因:https://blog.csdn.net/weixin_42617348/article/details/81170166】,导致开发过程中不能便捷检测;
|
|
|
+> (2) maven-sonar-plugin支持检测p3c代码规则,不过每次都需要执行sonar:sonar命令,返回一个报告地址,需要去SonarQube服务页面上查看检测结果;
|
|
|
+> (3) jenkins通过maven-sonar-plugin插件可以集成sonar静态代码检测,并且可以阻塞获取检测结果,成功:进入下一个节点;失败:停止部署发版;
|
|
|
+> (4) IDEA的Alibaba Java Code Guidelines插件是专门检测p3c代码规则的,检测规则在ali-pmd.xml文件中(做了一些修改,去掉了一些规则,比如:UndefineMagicConstantRule);
|
|
|
+> (5) maven-pmd-plugin通过ali-pmd.xml可以与IDEA的Alibaba Java Code Guidelines插件保持相对一致的代码检测规则,这样在开发和发版过程都可以方便快捷的解决代码质量问题。
|
|
|
+> ==========综上:最后选择使用maven-pmd-plugin插件配合自定义的代码检测规则ali-pmd.xml来做静态代码检测。==========
|
|
|
+
|
|
|
+### 7. 【前端开发】vscode添加sonar插件
|
|
|
1. 插件市场名字:SonarQube for IDE: Visual Studio Code (formerly SonarLint)
|
|
|
[插件官网地址](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarlint-vscode)
|
|
|
**注意:** 下载sonarLint的版本要与sonarQube服务端版本(版本号:8.9)匹配,否则使用不了,插件作用参考4。
|
|
|
|
|
|
-### 7. 【前端开发】sonar-scanner扫描
|
|
|
+### 8. 【前端开发】sonar-scanner扫描
|
|
|
1. 安装sonnar-scanner软件包 [下载地址](https://docs.sonarsource.com/sonarqube-server/8.9/analyzing-source-code/scanners/sonarscanner/)
|
|
|
2. 配置环境变量
|
|
|
```
|