使用sonarQube + gitlab-runner实现代码提交到gitlab仓储,触发gitlab-ci,通过gitlab-runner执行带有sonarQube代码审核执行脚本的gitlab-ci.yml文件,完成整个代码自动化规范检查操作。
sonarQube 安装,参见: gitlab-runner 安装,参见:
3.1 编写gitlab-ci.yml配置文件
stages:
- test
job1:
stage: test
only:
- master
script:
- sonar-scanner -Dsonar.projectKey=abc -Dsonar.host.url=http://172.18.16.50:9000 -Dsonar.login=6d190aebe5c01fd18f22c212f47fc5f657a29f1d -Dsonar.java.binaries=.
image:
name: sonarsource/sonar-scanner-cli:latest
entrypoint: [""]
variables:
# 在sonarqube中创建项目时生成的TOKEN
SONAR_TOKEN: "09904533c04eee38bc6c6d5b4acfc4fb73865626"
SONAR_HOST_URL: "http://192.168.102.27:9000/"
GIT_DEPTH: 0
sonarqube-check:
stage: test
script:
# sonarqube中项目的标识
- sonar-scanner -Dsonar.qualitygate.wait=true -Dsonar.projectKey=firsttest -Dsonar.java.binaries=.
allow_failure: true
only: # 仅检测master合并请求和master分支代码提交,sonarqube-ce版本只支持分析dev分支
- merge_requests
- dev
3.2 代码提交至gitlab之后,自动进行代码规范性检查