我司从两个方面实施吧,一是基于gitgerrit等项目进行适配改造,基本逻辑就是通过接入代码扫描等各类自动化扫描工具,提交之前扫描一遍有没有违规内容,以及架构或者成熟工程师审批;
Gerrit 是建立在Git版本控制系统之上并且基于Web的一个免费开源的轻量级代码审查工具。
作为开发者和Git之间的一层屏障,不允许直接将本地修改内容同步到远程仓库中。
与Jenkins集成后,可以在每次提交代码后 ,人工审核代码前,通过Jenkins任务自动运行单元测试、构建以及自动化测试,如果Jenkins任务失败,会自动打回本次提交。
一般Git、Gerrit和Jenkins集成后的使用流程
1,开发者提交代码到Gerrit
2,触发对应的Jenkins任务,通过以后Verified加1
3,人工审核,审核通过后code review加2,触发对应的Jenkins任务
4,通过以后确认本次提交,Gerrit执行与Git仓库的代码同步操作
5,代码进入Git仓库
二是分支管理开发,这个内容就比较多了,一般就是开发是一个分支,测试、发版是一个分支,把对应开发、测试、准入环境隔离开。