SonarQube 系列之 — 04 插件扩展

环境说明:

SonarQube版本:SonarQube7.6
JDK版本:1.8

插件1--集成阿里巴巴p3c规范

  1. 准备插件:
    找到SonarQube版本对应的p3c插件
    SonarQube7.6确认可用插件:https://github.com/caowenliang/sonar-pmd-p3c

  2. 下载插件代码并构建

>git clone https://github.com/caowenliang/sonar-pmd-p3c
>cd sonar-pmd-p3c
>mvn clean install -Dmaven.test.skip=true 
  1. 安装插件
    注意:由于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
  1. 重启 SonarQube,在 Quality Profiles【质量配置】页面点击Create:
    Name【名称】自己填
    Language【语言】选Java,点击Create按钮后,跳转到质量配置详情界面。

  2. 在详情界面,点击 Activate more【更多激活规则】,在 Search for rules...【搜索规则...】中搜索p3c,然后点击 Bulk Change【批量修改】,确认Apply。

  3. 返回到 Quality Profiles【质量配置】页面,将该质量配置 Set as Default【设为默认】。

插件2--plsql插件

  1. 下载插件sonar-plsql-open-plugin-2.4.0.jar
  2. 安装并重启SonarQube
    放到${SONAR_HOME}/extensions/plugins目录下,然后重启SonarQube
  3. 使用
    登录SonarQube,在 Quality Profiles【质量配置】页面, 可以看到PL/SQL 规则已增加,如图.
  4. 在实际扫描时,设置语言
    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插件

  1. 下载插件sonar-findbugs-plugin.jar
  2. 安装并重启SonarQube
    放到${SONAR_HOME}/extensions/plugins目录下,然后重启SonarQube
  3. 使用
    登录SonarQube,在 Quality Profiles【质量配置】页面, 可以看到findbugs 规则已增加,将该质量配置 Set as Default【设为默认】.

插件4--多分支扫描分析插件

说明
SonarQube Community 版本不支持多分支扫描,
SonarQube Developer Edition 及以上版本是支持多分支扫描的,扫描时指定分支参数-Dsonar.branch=develop即可,就可以实现多分支代码扫描。

  1. 下载插件sonarqube-community-branch-plugin
  2. 安装并重启SonarQube
    放到${SONAR_HOME}/extensions/plugins目录下,然后重启SonarQube
  3. 使用
    扫描时,增加参数-Dsonar.branch.name=${RANCH}即可。
//maven项目
$ mvn clean verify sonar:sonar -Dmaven.test.skip=true -Dsonar.branch=master
//非maven项目,在实际使用时可以动态生成配置文件
在sonar-project.properties文件里,增加sonar.branch.name的配置

其他补充

一步步编写SonarQube Plugin

posted @   雨 燕  阅读(5838)  评论(2编辑  收藏  举报
编辑推荐:
· 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)
点击右上角即可分享
微信分享提示