前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sonarQube + gitlab-runner 实现代码规范自动化检测

sonarQube + gitlab-runner 实现代码规范自动化检测

作者头像
夹胡碰
发布2020-10-29 12:53:47
2.7K0
发布2020-10-29 12:53:47
举报
文章被收录于专栏:程序猿~程序猿~

使用sonarQube + gitlab-runner实现代码提交到gitlab仓储,触发gitlab-ci,通过gitlab-runner执行带有sonarQube代码审核执行脚本的gitlab-ci.yml文件,完成整个代码自动化规范检查操作。

1. 环境

  • 操作系统: Linux Centos7
  • gitlab-runner版本: 9.5.1
  • gitlab版本: 10.4.1
  • sonarQube版本: 8.5.0.37579

2. 环境准备

sonarQube 安装,参见: gitlab-runner 安装,参见:

3. 实现步骤

3.1 编写gitlab-ci.yml配置文件

  • gitlab原生安装
代码语言:javascript
复制
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=.
  • gitlab docker安装
代码语言:javascript
复制
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之后,自动进行代码规范性检查

  • gitlab-ci 触发成功

  • gitlab-ci.yml 执行成功

  • sonarQube 检测成功
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 环境
  • 2. 环境准备
  • 3. 实现步骤
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档