中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何對SonarQube代碼質量檢測整合

發布時間:2021-09-14 09:21:58 來源:億速云 閱讀:155 作者:柒染 欄目:大數據

如何對SonarQube代碼質量檢測整合,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

代碼質量檢測(SonarQube)整合

簡介

SonarQube是一種自動代碼審查工具,用于檢測代碼中的錯誤,漏洞和代碼異味。它可以與您現有的工作流程集成,以便在項目分支和拉取請求之間進行連續的代碼檢查。 如何對SonarQube代碼質量檢測整合

連續代碼檢查,sonar可以單獨使用MavenGradle推送代碼檢查,當然也可以在ci引擎進行代碼自動檢查,如: JenkinsGit

服務端

安裝

為了快速啟動sonarqube實例,我們采用docker的方式。

sonarqube默認為英文版的,檢查規則為自帶的,我們這里采用中文漢化,另外java語言加入阿里p3c規則。

使用git克隆項目:

git clone https://github.com/purgeteam/sonarqube-start
cd docker-start

sonar-docker-start.yml 模板如下:

# 漢化版+阿里p3c驗證
version: "2"

services:
  sonarqube:
    image: sonarqube
    ports:
      - "9000:9000"
    networks:
      - sonarnet
    environment:
      - sonar.jdbc.url=jdbc:postgresql://db:5432/sonar
    volumes:
      - sonarqube_conf:/opt/sonarqube/conf
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_bundled-plugins:/opt/sonarqube/lib/bundled-plugins
      - ./plugin/rhinoceros/sonar-pmd-plugin-3.2.0-SNAPSHOT.jar:/opt/sonarqube/extensions/plugins/sonar-pmd-plugin-3.2.0-SNAPSHOT.jar
      - ./plugin/sonar-l10n-zh-plugin-1.16.jar:/opt/sonarqube/extensions/plugins/sonar-l10n-zh-plugin-1.16.jar

  db:
    image: postgres
    ports:
      - "5432:5432"
    networks:
      - sonarnet
    environment:
      - POSTGRES_USER=sonar
      - POSTGRES_PASSWORD=sonar
    volumes:
      - ./postgres/postgresql:/var/lib/postgresql
      - ./postgres/postgresql_data:/var/lib/postgresql/data

networks:
  sonarnet:
    driver: bridge

volumes:
  sonarqube_conf:
  sonarqube_data:
  sonarqube_extensions:
  sonarqube_bundled-plugins:
  postgresql:
  postgresql_data:

使用docker-compose啟動

docker-compose -d sonar-docker-start.yml up

默認會吧插件掛載進容器內部。

啟動ok,查看控制臺進行訪問localhost:9000,默認賬號密碼:admin/admin

默認規則配置

雖然已經集成了阿里P3C,但是使用的還是默認規則,這里我們需要設置為指定規則。

以admin賬號登陸

如何對SonarQube代碼質量檢測整合

打開 質量配置profiles頁,點擊右上方的創建按鈕,創建 p3c profiles

如何對SonarQube代碼質量檢測整合

首次創建會跳轉到代碼規則配置頁面,剛新建的 profile 是沒有激活任何規則的,需要手動激活

如何對SonarQube代碼質量檢測整合

我們需要為剛創建的 p3c profile 激活 p3c 規則,點擊【激活更多規則】

跳轉到激活頁面,搜索p3c,如圖,都是以[p3c]開頭的規則。

如何對SonarQube代碼質量檢測整合

批量修改->活動 p3c -> 應用 -> 成功

如何對SonarQube代碼質量檢測整合

如何對SonarQube代碼質量檢測整合

如何對SonarQube代碼質量檢測整合

綁定規則成功后基本完成,我們返回質量配置,在java選擇剛設置的p3c設置為默認。

如何對SonarQube代碼質量檢測整合

配置阿里P3C已經完成。

Maven代碼檢查

sonarqube可以使用多種方式進行代碼上傳檢查。 我們使用簡單的Maven觸發代碼檢查。

添加插件

在項目pom文件里添加sonar-maven-plugin插件。

<build>
    <plugins>

        <plugin>
            <groupId>org.sonarsource.scanner.maven</groupId>
            <artifactId>sonar-maven-plugin</artifactId>
            <version>3.6.0.1398</version>
        </plugin>

    </plugins>
</build>

服務器相關配置:

需要將<sonar.host.url>修改為之前搭建的sonarqube服務地址。

<!-- SonarQube代碼質量檢測 -->
<profiles>

    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
            <sonar.host.url>http://127.0.0.1:9000/</sonar.host.url>
        </properties>
    </profile>
    
</profiles>

觸發檢查

pom配置完成,先將代碼進行構建使用Maven package 命令。

完成構建執行mvn sonar:sonar命令,也可以使用idea maven 可視化界面進行操作。

如何對SonarQube代碼質量檢測整合

運行完成。

如何對SonarQube代碼質量檢測整合

查看sonar報告

打開sonar服務頁面127.0.0.1:9000

如何對SonarQube代碼質量檢測整合

可以看到上傳的項目列表,選擇項目查看分析結果,項目健康狀態等信息。

如何對SonarQube代碼質量檢測整合

問題里可以看到相關的代碼問題列表,打開單個則查看詳情。

如何對SonarQube代碼質量檢測整合

當然我們只是使用了簡單的Maven方式推送至SonarQube服務,當然也可以在ci引擎進行代碼自動檢查。

關于如何對SonarQube代碼質量檢測整合問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

罗山县| 新和县| 建昌县| 观塘区| 长武县| 汉川市| 太仆寺旗| 玉门市| 禹城市| 卓资县| 平昌县| 承德市| 正阳县| 亚东县| 瓦房店市| 霍山县| 上林县| 巴中市| 新邵县| 镇远县| 罗平县| 喀喇| 台北县| 青海省| 临泽县| 密云县| 精河县| 永靖县| 孟津县| 洪泽县| 高阳县| 梧州市| 宜兴市| 商洛市| 上蔡县| 青河县| 遂溪县| 石林| 如东县| 彩票| 缙云县|