如何强制性管控代码质量

本文介绍了如何通过gerrit+jenkins+sonarqube进行代码质量管控,详细阐述了shell脚本的实现过程,用于在CI/CD流程中判断代码质量并决定是否允许merge。
摘要由CSDN通过智能技术生成

一、背景

在之前的文章中,我们已经描述了jenkins和sonarqube是如何集成起来的,今天我们在该篇文章中描述下:如何使用gerrit+jenkins+sonar进行代码质量管控.主要是利用sonarqube分析代码的能力来管控.

一般流程是开发者只需要提交代码,然后会自动触发 CI/CD,根据编译结果来判断代码是否能被merge进去.而代码的质量却无法被管控到. 那么我们如何来进行管控呢?总体上是采用以下的流程:gerrit提交代码-->触发jenkins job--->编译后上传sonar报告-->shell脚本调用sonar的API,得到关键的质量数据后判断是否满足条件--->jenkins将执行结果返回给gerrit-->根据jenkins的返回结果判断是否merge代码


二、具体实现

在这个简单的流程中,最基本的是gerrit和jenkins的集成以及如何上传sonarqube报告. 当然本文不是讲解该如何集成,本文主要是讲解: shell脚本应该如何写.

整个shell脚本大概可以分为以下三步:

  1. 判断sonar报告已经上传成功,保证是这次提交对应的sonar报告
  2. curl命令去调用api,得到关键质量数据
  3. 根据质量数据返回不同的值,返回1表示质量不过关,jenkins job也会失败,同时jenkins会给gerrit返回-1操作;返回0表示质量过关,jenkins job会是成功状态,jenkins 会给gerrit返回+1操作

后面考虑将第一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值