背景:
过往的测试、发布过程中,经常会出现已经合完主干测试验收完成、到最后发布时才发现有别人提交了代码、导致需要测试返工的情况,为了降低发布带上未经过测试代码的风险,做到测试对发布功能心中有数,能够信息对称准确评估风险,因此流程上加上代码提交后自动发送diff邮件通知。
网上普遍写的方式是hook git的push,结合gitlab ci来实现,看到帖子上的操作都要去git服务器上修改文件,表示运维小GG并没有给我服务器权限,自己看gitlab功能发现设置里面就有功能直接支持,大吉大利,今天吃鸡~
实现:
1、目前我们的代码管理工具使用的是gitlab,gitlab中集成了emails on push功能,配置好后即可提交后自动发送diff邮件。
需要注意,下图中的勾选必须按照图片中勾选或取消勾选,send from committer如果没有取消勾选,会导致邮件无法发送。
点击test and save按钮进行保存,同时会发送一封测试邮件到你配置到收信人邮箱,收到邮件就代表配置正常。
设置好后进行提交,就能收到diff邮件了。
2、根据自身需求,设置邮箱收信规则。
master的代码提交需要特别关注,因此特意配置了标题包含master的收信规则,用单独的文件夹查看更清晰。
如果正在测试A分支,那么需要特别关注A分支的提交,同样配置收信规则与文件夹单独查看即可排除其它提交信息的干扰。