Sonarqube篇-sonarqube接入阿里巴巴代码规范

一 引言

阿里巴巴代码规范就是pmd的基础上新增了p3c的规则,因此,在sonarqube中添加阿里巴巴代码规范的时候需要:第一,在sonarqube应用市场中下载pmd插件,第二,根据本操作手册新增p3c的规则

二 操作手册

需要在sonarqube节点上操作:

1 下载plugin

git clone https://github.com/slowwalkerlcr/sonar-p3c-pmd/tree/pmd_alibaba
#其他参考:
https://github.com/rhinoceros/sonar-p3c-pmd/releases/tag/pmd-3.2.0-beta-with-p3c1.3.4-pmd6.10.0

2 下载配置maven

tar xvfz apache-maven-3.6.2-bin.tar.gz -C /usr/local

vim /etc/profile

export MAVEN_HOME=/usr/local/apache-maven-3.6.2
export PATH=${MAVEN_HOME}/bin:$PATH

注意:如果没有配置jdk8环境的话则需要先配置jdk8

mvn -version

在这里插入图片描述

3 mvn打包源码并将插件接入sonarqube

1)在clone好的安装包目录下执行: mvn clean install
在这里插入图片描述
注意:最后会报test出错,该错误可以忽略

2)找到下面的安装包,并将其复制到sonarqube的plugin目录下,可以重命名为sonar-pmd-plugin-3.2.0-SNAPSHOT.jar
在这里插入图片描述
可以看到pmd的插件包:
在这里插入图片描述
3)重启sonarqube

systemctl restart sonar

4 重新登录查看规则并测试分析代码
在这里插入图片描述
在这里插入图片描述
找到项目——设置其quality gate即可使用alibaba代码规约
在这里插入图片描述
分析结果:
在这里插入图片描述

注意:下面是jenkins pipeline中的script,记录一下,避免忘了

node("master") {
	stage('清理目录') {
		cleanWs()
	}

	stage('Gitlab') {
		git branch: 'master', url: 'http://gitlab_url/root/demo.git'
	}
	stage('SonarQube') {
		def scannerHome = /opt/apps/sonar-scanner   #这里是scanner的安装目录
		def project = 'demo'     #这个定义了要扫描的项目名称
		withSonarQubeEnv('sonarqube') {  #sonarqube是Jenkins的系统设置中定义的sonarqube server的名字
			cmd="${scannerHome}/bin/sonar-scanner -Dsonar.projectKey="+project+" -Dsonar.projectName="+project+" -Dsonar.sources=. -Dsonar.login=sonar-token -Dsonar.java.binaries=."    #token是sonarqube管理员账户的token值
			sh cmd
		}
	}
}
<think>好的,我现在需要帮助用户了解如何将SonarQube阿里巴巴的Java编码规范集成。根据用户提供的引用内容,我需要整理出一个清晰的步骤指南,并确保按照系统级指令的要求来组织回答。 首先,用户提到了几个相关的引用,特别是引用[5]中提到需要在SonarQube应用市场下载PMD插件,并新增p3c的规则。引用[4]和[5]都提到了集成步骤,可能需要综合这些信息。另外,引用[3]和[4]提到了PMD和p3c的关系,说明阿里巴巴规范是基于PMD的,所以需要先安装PMD插件,然后添加p3c的规则。 接下来,我需要按照逻辑步骤来组织内容。可能分为准备环境、安装插件、配置规则、重启服务、使用验证这几个步骤。每个步骤需要详细说明操作,比如下载插件的版本,如何导入规则文件等。 另外,要注意用户的问题是关于使用教程,所以步骤需要具体,用户能够一步步跟随操作。同时,需要确保LaTeX格式正确,比如行内公式用$...$,独立公式用$$...$$,但这个问题可能涉及较少的数学公式,可能只需要注意代码块的格式。 在生成相关问题的时候,需要围绕集成过程中可能遇到的疑问,比如插件安装失败怎么办,如何自定义规则,与其他工具的对比等。这样用户可以有进一步的问题参考。 最后,引用标识需要正确对应,比如引用[1]提到SonarQube PMD Plugin,引用[5]提到集成步骤,需要确认每个引用在回答中的位置是否正确。同时,回答要使用中文,结构清晰,分步骤说明,并确保每个引用的末尾自然添加标识。</think>### SonarQube集成阿里巴巴Java编码规约教程 #### 一、前置准备 1. **环境要求** - SonarQube服务器版本≥7.9(推荐使用LTS版本)[^5] - 安装Java 11+运行环境(若使用JDK17需确认插件兼容性[^4]) - 确保服务器可访问SonarQube插件市场 2. **插件下载** -SonarQube应用市场安装 **PMD插件**(版本≥3.15.0)[^1] - 获取阿里巴巴p3c规则文件: ```bash wget https://github.com/alibaba/p3c/raw/master/p3c-pmd/src/main/resources/rulesets/java/ali-p3c.xml ``` --- #### 二、集成步骤 1. **安装PMD插件** - 登录SonarQube控制台 → **Administration** → **Marketplace** - 搜索并安装 **"PMD"** 插件 2. **导入P3C规则集** ```bash # 将规则文件拷贝至SonarQube配置目录 cp ali-p3c.xml /opt/sonarqube/extensions/plugins/sonar-pmd-plugin/rules/ ``` - 进入 **Rules** → 筛选 **PMD** → 激活"ali-p3c"规则集 3. **配置质量规则** - 建议开启全部 **52条P3C规则**(默认严重级别为`MAJOR`) - 按需调整规则等级: ```xml <!-- 示例:修改注释规则 --> <rule key="CommentRequirement"> <priority>CRITICAL</priority> </rule> ``` 4. **重启服务** ```bash systemctl restart sonarqube ``` --- #### 三、验证集成效果 1. **扫描Java项目** ```bash mvn sonar:sonar \ -Dsonar.java.binaries=target/classes \ -Dsonar.language=java ``` 2. **查看报告** - 违规项将显示 **P3C-XXX** 编号(如`P3C-001`表示命名规范问题) - 支持自动修复建议的规则会显示修复按钮[^3] --- #### 四、高级配置(可选) 1. **自定义规则组合** - 在`ali-p3c.xml`中通过`<exclude>`标签过滤不需要的规则 - 使用`<properties>`调整检测阈值 2. **与IDE插件联动** - 在IDEA中安装 **P3C插件** 实现开发阶段实时检测[^2] - 配置SonarLint同步SonarQube规则---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼刺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值