小白篇 -- 前端人的 Sonar 搭建

前言

代碼審查工具,優勢不少自行 google,哈哈哈🤣🤣🤣。css

準備

以mac安裝sonar爲例,但只是前端安裝sonar的過程,不涉及後端數據等安裝。html

  • 使用目前最新版本 SonarQube 8.5.1(注意看官網對應的版本 先決條件);
  • 使用的版本須要使用 java 版本 11;
  • SonarQube 若是須要 mysql 請下載7.8版本,由於7.8版本以上的再也不支持 mysql 數據庫;
  • SonarQube版本7.7以上再也不支持項目中的 sonar.analysis.mode=preview ;(高版本沒有使用數據庫的話,直接是預覽模式)
  • 多注意日誌,有報錯等異常信息; /usr/local/sonarqube-8.5.1.38104/logs/sonar.log
  • sonarQube 配置文件目錄: /usr/local/sonarqube-8.5.1.38104/conf/sonar.properties

1. JDK 安裝

JDK下載網址前端

2. sonar-SonarQube 安裝

sonar-SonarQube下載地址java

通常下載社區版便可,有條件可選擇其它;mysql

  1. 下載完成:解壓縮到 /usr/local ;
  2. 終端進入:/usr/local/sonarqube-8.5.1.38104/bin/macosx-universal-64 ;
  3. 啓動/中止/重啓服務
    • ./sonar.sh start 啓動服務
    • ./sonar.sh status 查看狀態
    • ./sonar.sh stop 中止服務
    • ./sonar.sh restart 重啓服務
  4. 打開網址 http://localhost:9000
    • 登陸(初始帳戶:admin 初始密碼:admin):
  5. 漢化
    • 搜索的 chinese ,而後 install ;
    • 不一樣的 sonarQube 版本頁面可能有部分差別,但大致安裝方式是相同的;

安裝成功後,重啓 sonarQube 服務,再次訪問 http://localhost:9000/ ,便可看到中文界面;sql

3. sonar-scanner掃描器安裝

sonar-scanner掃描器下載地址數據庫

  1. 下載完成:解壓縮到 /usr/local ;macos

  2. 配置環境變量:後端

    • 輸入命令 vi ~/.bash_profile,進入 bash.profile 文件,進行編輯文本模式(按 i);bash

    • 配置 sonar_homesonar_scanner_homepath(路徑換成你的 sonarqubesonar-scanner 文件所在的絕對路徑),如下爲例:

      export SONAR_HOME=/usr/local/sonarqube-8.5.1.38104
      export SONAR_SCANNER_HOME=/usr/local/sonar-scanner-4.5.0.2216-macosx
      export PATH=$PATH:$SONAR_SCANNER_HOME/bin
      複製代碼
    • 退出文本編輯模式(按 Esc:wq ),執行命令:source ~/.bash_profile ,使配置當即生效;

    • 測試 sonar-scanner 是否安裝成功,輸入命令: sonar-scanner -v ,成功安裝以下圖:

4. sonar 使用

建立項目

projectKey 是惟一的

在須要 review 的項目中根目錄增長文件名爲 sonar-project.properties 的文件;

sonar.projectKey=
sonar.projectName=
sonar.sources=src
sonar.projectVersion=0.1.0
sonar.host.url=http://localhost:9000
sonar.login=
sonar.exclusions=**/*.less,assets/images/**,assets/less/**
複製代碼

項目執行

使用命令行工具進入項目的根目錄執行 sonar-scanner ;

結果查看

5. 添加sonar的規則文件

  1. 用管理賬號登陸SonarQube平臺(初始帳戶:admin 初始密碼:admin):

  2. 從質量配置菜單進入配置頁面新建:

  1. 輸入規則名稱,選擇語言,點擊建立:

  1. 建立完成:

  1. 進入質量配置,找到你選擇的語言:

  1. 設置本身添件的規則文件:

  1. 能夠設置本身規則爲默認規則,去激活本身想要的規則

  2. 添加規則文件的另外一種方法:能夠直接複製已有規則

兩種添加規則文件的區別:

新的規則文件中會有複製那個規則文件裏的全部規則;
新建的方式獲取規則文件:新的規則文件是空的;
複製代碼
說明:js,css等幾種語言只能在如今已有的規則中去激活你想要的規則,不能添加規則表中沒有的規則(目前本人沒有找到自定義規則方法),java等語言能經過上傳本身定義的規則文件進行自定義規則。
複製代碼

查看某種語言已有的規則:

在【代碼規則】中選擇【語言】能夠查看如今已有的規則列表中的全部規則:

6. 其它

sonarQube 配置文件目錄: /usr/local/sonarqube-8.5.1.38104/conf/sonar.properties

若是須要配置數據庫仍是其它的參數,打開上面的文件:

...

#--------------------------------------------------------------------------------------------------
# DATABASE
#
# IMPORTANT:
# - The embedded H2 database is used by default. It is recommended for tests but not for
#   production use. Supported databases are Oracle, PostgreSQL and Microsoft SQLServer.
# - Changes to database connection URL (sonar.jdbc.url) can affect SonarSource licensed products.

# User credentials.
# Permissions to create tables, indices and triggers must be granted to JDBC user.
# The schema must be created first.
#sonar.jdbc.username=
#sonar.jdbc.password=

sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin

...
複製代碼

最後

以上,也是各類百度、各類 google ,又踩不少坑寫出來的,若有更好解決方案,歡迎指導。

相關文章
相關標籤/搜索