SonarQube 系列之 — 04 插件扩展
环境说明:
SonarQube版本:SonarQube7.6
JDK版本:1.8
插件1--集成阿里巴巴p3c规范
-
准备插件:
找到SonarQube版本对应的p3c插件
SonarQube7.6确认可用插件:https://github.com/caowenliang/sonar-pmd-p3c -
下载插件代码并构建
>git clone https://github.com/caowenliang/sonar-pmd-p3c
>cd sonar-pmd-p3c
>mvn clean install -Dmaven.test.skip=true
- 安装插件
注意:由于sonar-pmd-p3c是在sonar-pmd-plugin基础上修改的。
所以如果已安装原版本sonar-pmd-plugin,需要先删除原插件,并将构建好的插件sonar-pmd-plugin-3.2.1.jar放到SonarQube的插件目录extensions/plugins下
>rm -f /opt/sonarqube/extensions/plugins/sonar-pmd*
>cp sonar-pmd-p3c/target/sonar-pmd-plugin-3.2.1.jar /opt/sonarqube/extensions/plugins
-
重启 SonarQube,在 Quality Profiles【质量配置】页面点击Create:
Name【名称】自己填
Language【语言】选Java,点击Create按钮后,跳转到质量配置详情界面。 -
在详情界面,点击 Activate more【更多激活规则】,在 Search for rules...【搜索规则...】中搜索p3c,然后点击 Bulk Change【批量修改】,确认Apply。
-
返回到 Quality Profiles【质量配置】页面,将该质量配置 Set as Default【设为默认】。
插件2--plsql插件
- 下载插件sonar-plsql-open-plugin-2.4.0.jar
- 安装并重启SonarQube
放到${SONAR_HOME}/extensions/plugins目录下,然后重启SonarQube - 使用
登录SonarQube,在 Quality Profiles【质量配置】页面, 可以看到PL/SQL 规则已增加,如图.
- 在实际扫描时,设置语言
sonar.language=plsqlopen
扩展:sonar Available languages,在扫描时候的配置
* Python => "py"
* CSS => "css"
* Go => "go"
* Kotlin => "kotlin"
* PL/SQL (ZPA) => "plsqlopen"
* JavaScript => "js"
* Ruby => "ruby"
* Scala => "scala"
* C# => "cs"
* Java => "java"
* HTML => "web"
* JSP => "jsp"
* Flex => "flex"
* XML => "xml"
* PHP => "php"
* TypeScript => "ts"
* VB.NET => "vbnet"
插件3--findbugs插件
- 下载插件sonar-findbugs-plugin.jar
- 安装并重启SonarQube
放到${SONAR_HOME}/extensions/plugins目录下,然后重启SonarQube - 使用
登录SonarQube,在 Quality Profiles【质量配置】页面, 可以看到findbugs 规则已增加,将该质量配置 Set as Default【设为默认】.
插件4--多分支扫描分析插件
说明
SonarQube Community 版本不支持多分支扫描,
SonarQube Developer Edition 及以上版本是支持多分支扫描的,扫描时指定分支参数-Dsonar.branch=develop即可,就可以实现多分支代码扫描。
- 下载插件sonarqube-community-branch-plugin
- 安装并重启SonarQube
放到${SONAR_HOME}/extensions/plugins目录下,然后重启SonarQube - 使用
扫描时,增加参数-Dsonar.branch.name=${RANCH}即可。
//maven项目
$ mvn clean verify sonar:sonar -Dmaven.test.skip=true -Dsonar.branch=master
//非maven项目,在实际使用时可以动态生成配置文件
在sonar-project.properties文件里,增加sonar.branch.name的配置
其他补充
【Quality】
Quality is the value to someone who matters。做测试,首先要找到这个someone是谁,以及这个 someone重视的 value是什么。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)