一、SonarQube使用
1、新建項目
- 登錄sonarqube,新建項目
- 設置token
- 選擇maven
2、idea安裝SonarLint插件
- File->Settings->plugins-搜索SonarLint
- 如果無法通過idea安裝插件,可以單擊此處,去官網上下載,下載完成后,將包直接拖入idea進行安裝並重啟
3、配置插件,連接到sonarqube
- token為上面新建項目的token
4、使用copy的命令,提交檢測到服務器上
5、登錄sonar管理后台
二、SonarQube整合gitlab
- 實現目標:代碼通過gitlab提交后,sonarqube就會分析該代碼質量
- 使用gitlab-runner進行流水線操作,未閱讀過此文章的,點擊進入查看
- 流程示意圖如下
1、注冊gitlab-runner
# 進入容器
docker exec -it gitlab-runner /bin/bash
# 注冊runner
gitlab-runner register
# gitlab地址
Enter the GitLab instance URL (for example, https://gitlab.com/):
http://192.168.3.11/
# token
Enter the registration token:
XXXXX-XXXXX-XXXXX
# 輸入runner描述
Enter a description for the runner:
my-runner
# gitlab-runner標簽名稱tag
Enter tags for the runner (comma-separated):
sonar
# 選擇執行gitlab-runner的執行程序。因為我要用docker實現自動部署,所以輸入docker
Enter an executor: custom, docker-ssh, parallels, kubernetes, docker, shell, ssh, virtualbox, docker+machine, docker-ssh+machine:
shell
2、在項目下新建.gitlab-ci.yml
- 以下信息從上面sonar新建項目后可以獲得
variables:
SONAR_PROJECT_KEY: "demo"
SONAR_TOKEN: "15b41b06d144017b0c9046abc8890554ba7424a6"
SONAR_HOST_URL: "http://192.168.3.12:9000"
stages:
- test
sonar_preview:
stage: test
script:
- mvn --batch-mode verify sonar:sonar -Dsonar.projectKey=$SONAR_PROJECT_KEY -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_TOKEN
only:
- master
tags:
- sonar
3、測試代碼提交
- 代碼提交到gitlab后,gitlab流水線會進行操作,成功后,sonarqube上就有該項目了