隨着項目團隊規模日益壯大,項目代碼量也愈來愈多。且不說團隊成員編碼水平層次不齊,即使是老手,也不免由於代碼量的增長和任務的繁重而忽略代碼的質量,最終的問題即是bug的增多和代碼債務的堆積。所以,代碼review便日益提上了日程。固然人工review的效率仍是至關低下的,因而咱們採用了自動化代碼review的工具,即是今天的主角:SonarQube。html
本系列主要講述sonarqube的安裝部署以及如何集成jenkins自動化分析.netcore項目。目錄以下:java
SonarQube® 是一種自動代碼審查工具,用於檢測代碼中的錯誤,漏洞和多餘的代碼。它能夠與您現有的工做流程集成,以便在項目分支和拉取請求之間進行連續的代碼檢查。好比:mysql
總之,SonarQube是能夠配合一切好用的CI/CD工具進行自動化分析代碼並生成代碼報告,經過報告咱們能夠看到代碼中可能存在的bug和代碼債務。linux
官方網站:https://www.sonarqube.org/git
打開官網(上述官網地址),即可以很容易看到官方文檔的菜單,安裝步驟在官網很清楚了,咱們參考文檔進行安裝,這裏記錄整個安裝的過程以便幫助一些看文檔迷惑的學者。web
官方文檔地址:https://docs.sonarqube.org/latest/sql
左側有下拉框能夠選擇sonarqube的各個版本,咱們能夠選擇切換不一樣的版本以查看不一樣時期的文檔數據庫
咱們首先打開 Requirements ,查看當前版本的軟硬件支持。瀏覽器
由於我用到了Mysql數據庫,綜合軟硬件說明我選擇了7.6版本的SonarQube進行下載安裝。服務器
一樣在左側菜單找到 Setup and Upgrade 選項,打開之後按步驟找到 Download 連接,下載對應版本的安裝包。
SonarQube 的安裝包是不分平臺的,默認把全部平臺的運行命令都下載下來,使用者根據不一樣環境運行不一樣的運行腳本。
下載完成後,咱們把安裝包 sonarqube-7.6.zip 放在linux服務器的安裝目錄(喜歡的任意位置),而後用解壓命令解壓
unzip sonarqube-7.6.zip
進入文件夾,咱們瞭解幾個重要的目錄
關於jdk的安裝這裏就很少說了,咱們直接進入sonarqube 的配置。
咱們首先須要經過配置文件修改 sonarqube 的 mysql 鏈接字符串等信息,打開 conf 目錄的 sonar.properties
咱們只須要修改mysql部分就ok了,其餘不用過多設置
#----- DEPRECATED #----- MySQL >=5.6 && <8.0 # Support of MySQL is dropped in Data Center Editions and deprecated in all other editions # Only InnoDB storage engine is supported (not myISAM). # Only the bundled driver is supported. It can not be changed. sonar.jdbc.url=jdbc:mysql://localhost:39901/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&maxAllowedPacket = 16777216&useSSL=false sonar.jdbc.username=sonarqube sonar.jdbc.password=xxxxx
這裏的配置是按照官方文檔的介紹,在mysql添加了一個 sonarqube 的用戶,而且建立了一個數據庫叫 sonarqube ,且將數據庫的讀寫執行權限賦給 sonarqube用戶,用於在站點初始化以及後續存儲設置數據時對數據庫進行修改。
sonarqube web 默認端口號爲 9000 若是想修改爲其餘端口能夠經過下面這個設置修改其餘端口號。
wrapper.conf 這個配置文件裏配置了java命令地址,sonarqube 的日誌文件目錄等,能夠關注下本身的 java 命令路徑,其餘不用太過關注。
打開 sonarqube 的下載目錄的bin目錄,裏面列舉了各個平臺的啓動腳本
啓動以前先使用 chown 命令將sonarqube-7.6及其子目錄受權給一個非root的用戶,sonarqube及其es等軟件禁止 root帳戶啓動,所以須要切換一個非root帳戶,受權的用戶須要有bin目錄及其子目錄的讀取和可執行的權限。
而後咱們找到對應平臺的腳本,個人系統是64位的linux,進入 linux-x86-64 目錄
啓動sonar,執行 sonar.sh 腳本,並添加 start 參數
./sonar.sh start
若是不添加參數,會出現以下提示,是由於該腳本有必要的參數,包含了sonar服務的啓動/中止/重啓/dump等操做,能夠根據使用場景提供不一樣的參數。
啓動以後,咱們瀏覽器訪問對應服務器ip地址的9000端口(防火牆要提早放行9000端口)
若是沒有成功,那麼就在logs目錄查看啓動日誌。通常有幾種:
若是一切順利的話,就會進入登錄頁面,帳號密碼都是 admin。
關於插件我自己使用很少,若是看不慣英文界面,那麼就先裝箇中文插件吧。
在頂部的菜單欄,配置裏面,按下圖步驟,在下面插件搜索欄輸入chinese,便可搜到中文插件,而後點安裝。
等待安裝完畢,提示重啓sonar後,便自動切換到了中文界面。
那麼到此,sonar的安裝與配置便告一段落了,若是有任何問題歡迎留言區討論~