sonarqube的质量配置 quality profiles

1. quality profiles是什么?

1.1 官网定义

在这里插入图片描述

看上去就是包含了一系列rules的配置文件,用于代码分析。
每个项目都有quality profile集合,当代码分析的时候,项目中的每个语言都会找到激活的quality profile用于代码分析。

  • 例如下面的这张图,就会使用test-name分析java代码,用实例默认分析xml代码
    在这里插入图片描述

2. quality profiles的CRUD

  • 来到quality profiles的API文档

在这里插入图片描述

2.1 导出配置 GET api/qualityprofiles/backup

之前版本的sonarqube有一个backUp按钮,用于下载配置,但是现在的版本内置的Sonar way没看到下载的按钮!Why??
在这里插入图片描述在这里插入图片描述

  • 既然没有了这个按钮,那就用api导出默认的配置吧: GET api/qualityprofiles/backup
 ~/data/sonar/sonarqube/data/ 
 ~/data/sonar/sonarqube/data/ curl -u admin:admin123! http://localhost:9000/api/qualityprofiles/backup\?language\=java\&qualityProfile\=Sonar%20way > sonar_way.xml
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 62409    0 62409    0     0   270k      0 --:--:-- --:--:-- --:--:--  270k
 ~/data/sonar/sonarqube/data/ 
 ~/data/sonar/sonarqube/data/ 
quality profiles文件的内容

key是一个规则,暂时还不懂。。。

 ~/Downloads/ cat AY0biq7vTbeuxzbuAF0b.xml 
<?xml version='1.0' encoding='UTF-8'?>
<profile>
    <name>test-name</name>
    <language>java</language>
    <rules>
        <rule>
            <repositoryKey>java</repositoryKey>
            <key>S2204</key>
            <type>BUG</type>
            <priority>MAJOR</priority>
            <parameters/>
        </rule>
        <rule>
            <repositoryKey>java</repositoryKey>
            <key>S100</key>
            <type>CODE_SMELL</type>
            <priority>MINOR</priority>
            <parameters>
                <parameter>
                    <key>format</key>
                    <value>^[a-z][a-zA-Z0-9]*$</value>
                </parameter>
            </parameters>
        </rule>
    </rules>
</profile>

2.2 更新配置 POST api/qualityprofiles/restore

在这里插入图片描述

 ~/Downloads/ curl -X POST -uadmin:admin123! http://localhost:9000/api/qualityprofiles/restore --form backup=@AY0biq7vTbeuxzbuAF0b.xml
{"profile":{"key":"AY0biq7vTbeuxzbuAF0b","name":"test-name","language":"java","isDefault":false,"isInherited":false,"languageName":"Java"},"ruleSuccesses":2,"ruleFailures":0}

2.3 修改项目的quality profiles

  • POST api/qualityprofiles/remove_project
  • POST api/qualityprofiles/add_project
    在这里插入图片描述

3 如何在代码分析的时候指定quality profiles

早的sonar有一个参数 sonar.profile,现在好像没有了。

mvn sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.profile=test-name

那我也就不知道该怎么办了。。。先用api改动项目默认的quality profiles,然后执行mvn??

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值