sonarqube的质量配置 quality profiles

1. quality profiles是什么?

1.1 官网定义

sonarqube的质量配置 quality profiles_第1张图片

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

  • 例如下面的这张图,就会使用test-name分析java代码,用实例默认分析xml代码
    sonarqube的质量配置 quality profiles_第2张图片

2. quality profiles的CRUD

  • 来到quality profiles的API文档

sonarqube的质量配置 quality profiles_第3张图片

2.1 导出配置 GET api/qualityprofiles/backup

之前版本的sonarqube有一个backUp按钮,用于下载配置,但是现在的版本内置的Sonar way没看到下载的按钮!Why??
sonarqube的质量配置 quality profiles_第4张图片sonarqube的质量配置 quality profiles_第5张图片

  • 既然没有了这个按钮,那就用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

sonarqube的质量配置 quality profiles_第6张图片

 ~/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
    sonarqube的质量配置 quality profiles_第7张图片

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

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

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

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

你可能感兴趣的:(sonarqube,服务器,linux,运维)