上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
5.3 特性改动累积并最终提交
小明把代码改动提交到服务器端代码库的这个动作,自动触发了流水线的运转。流水线把该特性分支的代码下载下来,进行编译构建、单元测试、代码扫描。这些工作主要是为了以防万一,毕竟各种原因都有可能导致小明提交的代码并不是百分之百没问题。
比如这次就发现了一个问题,在这个特性分支上为该特性所做的代码改动(不是全量代码)没有被单元测试覆盖到。这有点儿不太对劲。工具自动发送了一封提醒邮件给小明,小明看了也觉得确实有必要补充单元测试的脚本。
过了几天后,特性开发完成了。小明对该特性做了最后一次提交后,在工具中发起了一个合并请求(Merge Request),邀请小王帮他评审代码。小王收到邀请后,打开合并请求,先跳转到该特性分支对应的用户故事描述中看了看,然后回到合并请求中评审本次代码改动。他对几个地方有疑惑,于是分别在合并请求中相应的代码位置做了标记和简要备注。接下来,小王和小明坐在一起讨论了一下那几个有疑惑的地方,其中有两个地方确实应该改改。小明改好后再次提交,小王在工具中简单地对比看了一下,确定没问题了。鉴于此次提交自动触发的构建、单元测试、代码扫描也都通过了,根据预设规则,工具认为这个特性没问题了,自动将它合并到集成分支中。