程式碼品質管理sonarqube部署使用
一、sonarqube的部署
1.下載sonaqube://www.sonarqube.org/downloads/
根據需要下載特定版本:
2.如果通過sonar-scanner進行程式碼掃描的話需要下載sonar-scanner的安裝包,如果通過maven或者sonarlint進行則不需要。
sonar-scanner下載地址://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 掃描工具:
D:\sonarqube\sonar-scanner-cli\conf\sonar-scanner.properties
# 配置scanner連接的sonar服務地址
sonar.host.url=//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
出現下面資訊,服務啟動成功:
訪問://127.0.0.1:9000/ 進行登錄,默認帳號密碼:admin/admin
三、程式碼掃描:
掃描程式碼需要新建並配置程式碼掃描屬性文件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的插件,雙擊就可以進行程式碼掃描,掃描過後可以在sonarqube的介面看到掃描的結果。
四、sonarlint的使用:
1.在idea的插件市場搜索sonarlint,下載安裝。
2.登錄sonarqube的管理介面,創建項目並進行配置。然後再idea中配置sonarlint連接到sonarqube,並綁定項目:
點擊next進入下一步,創建連接,連接可以選擇token方式或者帳號密碼方式:
連接方式創建好以後本地項目與sonarqube中的項目進行綁定。
3.右擊項目進行掃描。sonarlint對項目的掃描只會從sonarqube上拉取規則來掃描本地的程式碼,並不會向sonarqube上傳掃描結果:
版權所有,侵權必究,引用請註明出處。