sonarQube + gitlab-runner 实现代码规范
2020-10-25 本文已影响0人
夹胡碰
使用sonarQube + gitlab-runner实现代码提交到gitlab仓储,触发gitlab-ci,通过gitlab-runner执行带有sonarQube代码审核执行脚本的gitlab-ci.yml文件,完成整个代码自动化规范检查操作。
1. 环境
- 操作系统: Linux Centos7
- Gitlab版本: 10.4.1
- gitlab-runner版本: 9.5.1
- SonarQube版本: 10.8.0
- sonar-scanner版本: 4.5
2. 环境准备
sonarQube 安装,参见: Windows环境从零搭建SonarQube 7.4(稳定版)
gitlab-runner 安装,参见: Gitlab Runner安装注册
3. 实现步骤
3.1 编写gitlab-ci.yml配置文件
- gitlab原生安装
stages:
- test
job1:
stage: test
only:
- master
script:
- sonar-scanner -Dsonar.projectKey=$CI_PROJECT_NAME -Dsonar.host.url=http://172.18.16.50:9000 -Dsonar.login=6d190aebe5c01fd18f22c212f47fc5f657a29f1d -Dsonar.sources=. -Dsonar.java.binaries=. -Dsonar.java.source=11 -Dsonar.analysis.CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME -Dsonar.analysis.GITLAB_USER_EMAIL=$GITLAB_USER_EMAIL -Dsonar.analysis.GITLAB_USER_NAME=$GITLAB_USER_NAME -Dsonar.analysis.CI_PROJECT_PATH=$CI_PROJECT_PATH
- gitlab docker安装
image:
name: sonarsource/sonar-scanner-cli:4.5
entrypoint: [""]
variables:
SONAR_TOKEN: "679e0d1cc1c5775ff2615bc960c1dd18447f5eb2"
SONAR_HOST_URL: "http://192.168.102.27:9000/"
sonarqube-check:
stage: test
script:
- sonar-scanner -Dsonar.projectKey=$CI_PROJECT_NAME -Dsonar.sources=. -Dsonar.java.binaries=. -Dsonar.java.source=11 -Dsonar.analysis.CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME -Dsonar.analysis.GITLAB_USER_EMAIL=$GITLAB_USER_EMAIL -Dsonar.analysis.GITLAB_USER_NAME=$GITLAB_USER_NAME -Dsonar.analysis.CI_PROJECT_PATH=$CI_PROJECT_PATH
only:
- dev
3.2 代码提交至gitlab之后,自动进行代码规范性检查
-
gitlab-ci 触发成功
image.png
-
gitlab-ci.yml 执行成功
image.png
-
sonarQube 检测成功
image.png