成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

代碼質量難評估?一文帶你用 SonarQube 分析代碼質量!

開發 項目管理
如果你的項目是多模塊的結構,那么在運行分析命令之前需要先運行 ??mvn install?? 命令。同樣在 SonarSource / sonar-scanning-examples 下面有 Sonar 官方提供的 ??maven-multimodule?? 示例項目,我們以這個項目為例來講講如何掃描多模塊項目。

?  大家好,我是樹哥!

無論是架構師還是研發經理,代碼質量都是必須要關注的重點。Sonar(沒錯,是 Sonar,不是 SonarQube)是一個用于代碼質量管理的開源平臺,用于管理代碼的質量。

它通過插件形式可以支持二十幾種語言的代碼質量檢測,通過多個維度的檢查了快速定位代碼中潛在的或者明顯的錯誤。千里之行始于足下,今天就讓我帶大家用一個簡單的例子,看看怎么使用 SonarQube 進行代碼質量管理。

基礎概念

SonarQube

SonarQube 是 Sonar 的服務端,相當于一個 web 服務器中的 tomcat,用來發布應用,在線瀏覽分析等。

Sonar Scanner

Sonar Scanner 是對源碼進行掃描的工具,它可以將結果保存到數據庫以便用上面的 SonarQube 進行分析。關于 Sonar Scanner 更多的內容,見官方文檔:Analyzing source code overview https://docs.sonarqube.org/latest/analyzing-source-code/overview/

環境配置

JDK 配置

SonarQube 最新版本需要 JDK11 以上,需要先配置好 JDK 開發環境。配置好之后再命令行運行 java -version 查看,如果運行沒報錯說明配置成功,如下代碼所示。

$ java -version
java version "17.0.6" 2023-01-17 LTS
Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)

Maven 配置

后續將會使用 Sonar Scanner for Maven 來分析項目,因此需要有安裝 Maven 并配置好對應的環境變量。配置好之后運行 mvn -version 查看,如果運行沒報錯說明配置成功,如下代碼所示。

[~]$ mvn -version
Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:37+08:00)
Maven home: /Users/xxxx/Yosemite/Alpha/maven
Java version: 11.0.18, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "11.4", arch: "x86_64", family: "mac"

數據庫支持

SonarQube 最新版本支持 SQLServer、Oracle、H2 等數據庫來存儲數據,但并不支持 MySQL 數據庫。SonarQube 默認會使用 H2 內存數據庫來臨時存儲數據,可能查看數據的時候會比較不方便。

安裝啟動 SonarQube

到 Sonar 官方網站下載 SonarQube:Clean Code | Developer First | Sonar,這里我們選擇社區版,如下圖所示。

圖片

下載完成之后解壓可以看到如下圖所示目錄,其中 bin? 是運行應用的目錄、conf? 是配置文件的目錄、logs 是日志的目錄。

圖片

這里我們打開 bin? 文件夾,可以看到有多個不同目錄對應不同系統。我這里是 Windows 系統就打開 macosx-universal-64? 目錄,隨后運行 ./sonar.sh start? 命令運行。運行之后,會啟動 SonarQube 所需要的各個服務,包括 ElasticSearch 等。如果一切正常,那么日志會提示 SonarQube is operational,如下圖所示。

圖片

隨后,打開 SonarQube 的管理后臺地址:http://127.0.0.1:9000,輸入默認的賬號密碼:admin/admin,點擊登錄之后會要求你修改密碼。修改密碼之后就進入了 SonarQube 管理后臺,如下圖所示。

圖片

SonarQube 也提供了 Docker 啟動的方式,鏡像地址為:sonarqube - Official Image | Docker Hub。 用 Docker 的好處就是:你可以省去上面所有的配置,一個命令就啟動 SonarQube,真的是太方便了!

掃描簡單項目

SonarQube 啟動完成之后,這里用我之前的 chenyurong/quick-start-of-spock: help you to learn spock quickly. 項目來體驗下 SonarQube 的代碼掃描功能。

首先,我們選擇手工導入項目的方式,來導入我們的本地項目,如下圖所示。

圖片

接著,我們設置好顯示名等信息,如下圖所示。

圖片

接著,選擇本地導入項目信息,如下圖所示。

圖片

接著,創建一個 token 令牌,點擊創建按鈕,如下圖所示。

圖片

接著,我們選擇 Maven 構建技術,隨后 SonarQube 會自動為我們生成對應的命令,如下圖所示。

圖片

我們直接復制上面生成的 mvn 命令代碼,直接到 quick-start-of-spock 項目的根目錄運行。正常情況下,其是可以運行成功的,如下圖所示。

圖片

隨后,我們直接回到 SonarQube 頁面,可以看到 quick-start-of-spock 項目有數據了,如下圖所示。

圖片

掃描多模塊項目

如果你的項目是多模塊的結構,那么在運行分析命令之前需要先運行 mvn install? 命令。同樣在 SonarSource / sonar-scanning-examples 下面有 Sonar 官方提供的 maven-multimodule 示例項目,我們以這個項目為例來講講如何掃描多模塊項目。

首先,在項目根目錄下運行 mvn install 命令,成功后再運行 Sonar Scanner Maven 插件的分析命令,如下所示。

mvn clean verify sonar:sonar -Dsonar.login=sqxxxxxxxxxxxxxxd222e7adc

如果正常的話,那么命令行會輸出成功的日志信息,如下圖所示。

圖片

此時再打開 SonarQube 管理后臺,可以看到多了一個名為 maven-multimodule 的項目,如下圖所示。

圖片

如果你想要在 Gradle、Ant 等構建的項目中使用 Sonar Scanner,可以參考官網的文檔:Analyzing source code overview https://docs.sonarqube.org/latest/analyzing-source-code/overview/

責任編輯:武曉燕 來源: 樹哥聊編程
相關推薦

2022-02-17 09:41:04

bitnamidockersonarqube

2022-02-28 12:07:56

RxJS函數式

2023-07-06 08:22:49

SonarQubeToken

2009-06-03 15:31:40

Eclipse插件提高代碼質量

2022-07-21 10:02:47

SonarQube代碼Java

2023-04-11 08:01:32

Web 開發源代碼映射

2022-03-25 09:22:42

代碼開發

2020-11-27 08:00:00

開發分析工具web

2015-05-06 09:20:34

代碼質量代碼審查實踐

2019-09-25 08:51:44

Python收藏算法

2023-05-20 17:58:31

低代碼軟件

2023-10-12 09:13:14

2012-11-07 09:48:26

2023-11-25 19:58:38

2022-06-22 07:54:35

OSS源碼軟件

2022-12-20 07:39:46

2023-11-20 08:18:49

Netty服務器

2023-12-21 17:11:21

Containerd管理工具命令行

2023-07-31 08:18:50

Docker參數容器

2023-11-06 08:16:19

APM系統運維
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线观看中文字幕 | av毛片在线免费观看 | 玖玖视频网 | 精品网站999 | 亚洲在线高清 | 日韩中文字幕免费在线 | 欧美11一13sex性hd | 中文字幕免费 | 偷派自拍 | 99国内精品久久久久久久 | 一区二区三区av | 中文字幕在线观看精品 | 国产精品视频导航 | 国产视频久久 | 91视视频在线观看入口直接观看 | 亚洲精品成人av久久 | 亚洲一区二区三区四区五区中文 | 久久久精品视频一区二区三区 | 亚洲最色视频 | 一级特黄网站 | 91精品久久久久久久久99蜜臂 | 美国黄色毛片 | 日韩中文字幕免费在线观看 | 热re99久久精品国99热观看 | 日韩欧美日韩在线 | 中文字幕一级毛片视频 | 国产成人精品免费 | 久久久久国产一区二区三区 | 蜜臀91视频| 美女黄频 | 欧美二区在线 | 亚洲精品电影网在线观看 | 自拍偷拍中文字幕 | 久草综合在线 | chinese中国真实乱对白 | 天天操综合网站 | 99久久精品国产一区二区三区 | 天堂成人国产精品一区 | 亚洲精品一区二区二区 | 夜久久| 91av视频 |