Laradock Sonarqube - daniel-qa/Information-Security GitHub Wiki


https://laradock.io/

  • 安裝 SonarQube#

自動代碼審查工具。

SonarQube® 是一種自動代碼審查工具,用於檢測代碼中的錯誤、漏洞和代碼異味。它可以與您現有的工作流程集成,以實現跨項目分支和拉取請求的持續代碼檢查。

1 - 打開.env文件
2 - 搜索 SONARQUBE_HOSTNAME=sonar.example.com參數
3 - 將其設置為您的域sonar.example.com
4 - docker-compose up -d sonarqube
5 - 打開瀏覽器:http://localhost:9000/

故障排除:

如果遇到數據庫錯誤:

docker-compose exec --user=root postgres
source docker-entrypoint-initdb.d/init_sonarqube_db.sh

如果遇到日誌錯誤:

docker-compose run --user=root --rm sonarqube chown sonarqube:sonarqube /opt/sonarqube/logs

SonarQube 文檔在這裡


  • 資料夾設定 ( Volume )
  volumes:
        - ${DATA_PATH_HOST}/sonarqube/conf:/opt/sonarqube/conf
        - ${DATA_PATH_HOST}/sonarqube/data:/opt/sonarqube/data
        - ${DATA_PATH_HOST}/sonarqube/logs:/opt/sonarqube/logs
        - ${DATA_PATH_HOST}/sonarqube/extensions:/opt/sonarqube/extensions
        - ${DATA_PATH_HOST}/sonarqube/plugins:/opt/sonarqube/lib/bundled-plugins

DATA_PATH_HOST=~/.laradock/data

習慣修改為上一層目錄的 data 資料夾

# Choose storage path on your machine. For all storage systems
DATA_PATH_HOST=../data
#~/.laradock/data

P.S 要特別注意 data 資料夾的存取權限

  • 首次登入
預設密碼 admin/admin
  • SonarQube Scanner

SonarQube 雖然已經包含 SonarPHP,但必須靠 SonarQube Scanner 才能執行,預設 SonarQube 並沒有包含 Scanner,必須自行安裝。

下載 Scanner

Analyzing with SonarQube Scanner 下載 Scanner,

將 Scanner 加入環境變數 /etc/environment

/home/sonar/code/sonar-scanner-4.8.0.2856-linux/bin/