代碼質量管理sonarqube部署使用


一、sonarqube的部署

1.下載sonaqube:https://www.sonarqube.org/downloads/

根據需要下載特定版本:

 

 2.如果通過sonar-scanner進行代碼掃描的話需要下載sonar-scanner的安裝包,如果通過maven或者sonarlint進行則不需要。

sonar-scanner下載地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

 下載完成后的文件如下:

sonarqube是代碼質量管理的平台。

sonar-scanner是代碼掃描的命令行工具,不是必須的。

 

 3.配置文件:

D:\sonarqube\sonarqube-7.9.1\conf\sonar.properties

配置數據庫連接屬性,以MySQL為例(sonarqube自7.9.版本開始不支持MySQL數據庫,其他數據庫連接與MySQL只有url稍微有區別):

# 數據庫連接屬性
sonar.jdbc.driverClassName=com.mysql.jdbc.Driver
sonar.jdbc.url=jdbc:mysql://10.255.23.4:30218/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=Gbom@654321

# sonar服務綁定的主機和端口(0.0.0.0表示所有IP都可訪問)
sonar.web.host=0.0.0.0
sonar.web.port=9000

# sonar 默認編碼和登錄賬號
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin

配置 sonar-scanner 掃描工具(不使用scanner命令行工具進行掃描的話,則不需要配置):

D:\sonarqube\sonar-scanner-cli\conf\sonar-scanner.properties

# 配置scanner連接的sonar服務地址
sonar.host.url=http://localhost:9000
# 配置默認編碼
#sonar.sourceEncoding=UTF-8
# 配置sonar服務器連接的數據庫
sonar.jdbc.url=jdbc:mysql://10.255.23.4:30218/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=Gbom@654321

二、服務啟動

啟動sonarqube:

進入安裝目錄的bin目錄下執行命令StartSonar.bat:

D:\sonarqube\sonarqube-7.9.1\bin\windows-x86-64>StartSonar

出現下面信息,服務啟動成功:

 

 訪問:http://127.0.0.1:9000/ 進行登錄,默認賬號密碼:admin/admin

sonarqube關於jdk版本的問題:

7.X以上的版本需要jdk11以上的支持:

修改文件 \conf\wrapper.conf 中的第四行為最新版本的 jdk 路徑。

wrapper.java.command=C:\Program Files\Java\jdk-13.0.2\bin\java

 

 

三、代碼掃描:

掃描代碼需要新建並配置代碼掃描屬性文件sonar-project.properties,將文件放在項目根目錄下:

 

 sonar-project.properties配置內容如下:

#projectKey是項目的唯一標識,不能出現重復,可隨意起
sonar.projectKey=bom-mgmt-service
# SonarQube UI上顯示的項目名稱,不能是中文
sonar.projectName=bom-mgmt-service
# 項目的版本號
sonar.projectVersion=0.1
# 項目的代碼的編碼格式
sonar.sourceEndcoding=UTF-8
# 項目的語言
sonar.language=java
# 項目的源代碼目錄
sonar.sources=src
# 項目的編譯生成的class文件的所在目錄
sonar.java.binaries=./target/classes

1.通過scanner進行掃描:

首先進入項目根目錄

執行命令:D:\workspace\xx-service>sonar-scanner

出現如下提示后表示掃描成功。

 

 

 登錄sonarqube服務進行查看掃描結果:

 

 

 2.通過maven插件進行掃描:

首先在maven的配置文件C:\apache-maven-3.8.1\conf\settings.xml 添加sonarqube插件支持,並配置sonar服務器信息:

<pluginGroups>
  <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
    <profile>
       <id>sonar</id>
       <activation>
           <activeByDefault>true</activeByDefault>
       </activation>
       <properties>
           <sonar.host.url>
             http://localhost:9000
           </sonar.host.url>
           <sonar.login>admin</sonar.login>
           <sonar.password>admin</sonar.password>
        </properties>
    </profile>
</profiles>

然后在項目的pom.xml 文件中引入maven的sonar插件

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

刷新maven依賴后,在idea右側的maven菜單框中可以看到sonar的插件,雙擊就可以進行代碼掃描(掃描之前需要在有sonar-project.properties文件的前提下先install成功以后),掃描過后可以在sonarqube的界面看到掃描的結果。

 

 

四、sonarlint的使用:

1.在idea的插件市場搜索sonarlint,下載安裝。

2.登錄sonarqube的管理界面,創建項目並進行配置。然后再idea中配置sonarlint連接到sonarqube,並綁定項目:

 

 點擊next進入下一步,創建連接,連接可以選擇token方式或者賬號密碼方式:

 

 連接方式創建好以后本地項目與sonarqube中的項目進行綁定。

 

 3.右擊項目進行掃描。sonarlint對項目的掃描只會從sonarqube上拉取規則來掃描本地的代碼,並不會向sonarqube上傳掃描結果:

 

 五 插件的安裝使用

本人使用的 sonarqube7.9.1,Chinese Pack(中文語言包),sonar-l10n-zh-plugin-1.29,sonar-cnes-report-3.1.0(excel形式的質量表格),sonar-pdfreport-plugin-3.0.3(pdf形式的質量報表)

插件的安裝可以在 配置->應用市場 中下載,新版本好像不支持直接在市場下載,需要自己手動下載。

 

 以下是手動下載教程。

1. 中文插件

下載地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/tags

找到和自己sonarqube對應的版本進行下載。將下載的jar包放在 sonarqube安裝根目錄\extensions\plugins 目錄下然后重啟sonarqube服務就可以了。

2.PDF分析插件(Sonar PDF Report Plugin

官網地址:https://gitee.com/zzulj/sonar-pdf-plugin

找到和自己sonarqube對應的版本進行下載。下載jar包放置在插件目錄下,然后重啟sonarqube服務,點擊項目,在更多中點擊Download Pdf 按鈕就可以下載分析的pdf文件。

 

 3. 綜合分析插件 Cnesreport

下載地址:

GitHub:https://github.com/cnescatlab/sonar-cnes-report.git

gitee:https://gitee.com/95me/sonar-cnes-report

找到和自己sonarqube對應的版本進行下載。下載jar包放置在插件目錄下,然后重啟sonarqube服務,點擊頂部菜單的更多,可點擊 CNES Report按鈕就可下載需要的項目分析報告。

 

選擇項目,點擊generate就可以生成下載分析的文件。

 

 

 

 

 

 版權所有,轉載或引用請注明出處,謝謝。


免責聲明!

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



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