sonarqube的质量配置 quality profiles

发布时间:2024年01月18日

1. quality profiles是什么?

1.1 官网定义

在这里插入图片描述

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

  • 例如下面的这张图,就会使用test-name分析java代码,用test-name分析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??

文章来源:https://blog.csdn.net/xiaolixi199311/article/details/135678399
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。