质量门禁的第一关,Git的Commit门禁

举报
Criss@陈磊 发表于 2020/08/20 15:40:22 2020/08/20
【摘要】 质量门禁的第一关,Git的Commit门禁Verigreen 是一个轻量级的Git的checkin的门禁,通过Verigreen可以保护代码分支不受污染。Verigreen看好质量门禁的大门在很多情况下,RD提交了他的代码后就会触发CI的流程,当CI的后面会跟着CD进程。但是如果在这个过程中最开始提交的代码就有一些问题,如果CI/CD过程没有门禁卡点,代码仓库的主干代码就被污染了。如果有Ve...

质量门禁的第一关,Git的Commit门禁

Verigreen 是一个轻量级的Git的checkin的门禁,通过Verigreen可以保护代码分支不受污染。

Verigreen看好质量门禁的大门

在很多情况下,RD提交了他的代码后就会触发CI的流程,当CI的后面会跟着CD进程。但是如果在这个过程中最开始提交的代码就有一些问题,如果CI/CD过程没有门禁卡点,代码仓库的主干代码就被污染了。

如果有Verigreen,那么当RD提交代码给对应的分支的时候,提交的代码如果没有经历任何验证是无法成功提交到代码仓库中的。

image.png

Verigreen flow

在我们提交代码到git仓库的时候,有很多优秀的模式,例如GitFlow模式等,那么我们权且把使用Verigreen的模式叫做Verigreen Flow吧。那么VerigeenFlow模式是如下工作的:
image.png

  • 1 RD将改动的代码push到远端分支

  • 2 代码变更出发了Verigeen

  • 3 Verigeen检查这次commit的代码的目标分支是不是被保护分支,如果不是被保护分支,那么就会正常的将其合并到对应的branch里面。如果是被保护的分支,那么Verigeen会将将代码commit到一个临时的分支中,然后针对这个临时分支运行验证程序。

  • 4 Verigeen如果验证失败,他会将失败的结果推送给流程发起端,如果验证成功,那么合并提交,然后将丢弃(删除)临时分支,然后过程结束。 如果不是,则更改被拒绝并保留在临时分支上,变更发起人会收到对应状态的email。

感兴趣的通过可以去Github尝试一下,项目中提供了docker镜像可以快速启动验证功能。https://github.com/Verigreen/demo


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。