使用sonarqube對java項目進行分析


目前有兩種辦法,第一種是使用SonarQube-Scanner-Maven,第二種是結合gitlab-ci進行

前提條件:已安裝並啟動sonarqube,知道訪問地址和登錄的用戶名及密碼,具體參考文檔:https://www.cnblogs.com/sanduzxcvbnm/p/15770254.html

第一種辦法:使用SonarQube-Scanner-Maven

官方文檔地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/

要求

1.maven版本:3.x (我這里使用的是3.5.4版本,配置好環境變量)
2.至少SonarQube服務器支持的最低版本的Java正在使用中,也就是最低java版本是11

我這里統一使用jdk-11.0.2版本
下載地址:https://repo.huaweicloud.com/openjdk/11.0.2/

SonarQube安裝在centos 7系統上,使用的軟件包是:openjdk-11.0.2_linux-x64_bin.tar.gz (配置好環境變量)
本機電腦是windows10系統,使用的軟件包是:openjdk-11.0.2_windows-x64_bin.zip (配置好環境變量)

maven設置

找到maven的配置文件:settings.xml,添加如下內容

<settings>
    <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    </pluginGroups>
    <profiles>
        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- Optional URL to server. Default value is http://localhost:9000 -->
                <sonar.host.url>
                  http://192.168.2.161:9000  <!-- 這一行換成實際的sonarqube訪問地址 -->
                </sonar.host.url>
            </properties>
        </profile>
     </profiles>
</settings>

sonarqube獲取token

登錄sonarqube,點擊右上角的用戶名,選中“我的賬號”,切換到“安全”,輸入令牌名稱,點擊生成令牌,復制這個。

分析使用命令:mvn clean verify sonar:sonar -Dsonar.login=Token # 把Token換成上面生成的令牌

mvn clean install
mvn sonar:sonar -Dsonar.login=Token

# 使用指定版本的sonar 
mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar -Dsonar.login=Token

在項目根目錄下執行如下命令,就會自動拉取sonar使用的有關插件,然后進行分析,結果會在sonar的web頁面上顯示出來

第二種辦法:結合gitlab-ci進行

前提:我這邊的CI/CD工具使用的是gitlab-runner,本身項目中已經存在的有.gitlab-ci.yml文件了.

1.先登錄sonar的web頁面,點擊“項目,選擇"更多",選擇“來自GitLab”
2.輸入名稱,gitlab的api接口地址,個人token
3.輸入個人令牌
4.獲取到個人有權限管理的項目后,點擊管理,選擇使用“gitlab-ci”
5.按照頁面提示在項目文件中添加內容,完成配置
6.提交代碼到該分支,sonar的web頁面上查看效果





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM