摘要:持续代码提交是实现持续集成的必要条件。

本文分享自华为云社区《云上开发如何实现持续代码提交》,作者:华为云PaaS服务小智。

什么是持续代码提交

持续代码提交就是频繁向主干提交代码,让主干随时保持都是最新的可用状态。持续代码提交是实现持续集成的必要条件。想要做到持续集成,前提是有代码可以集成,通过经常性的提交代码,可以避免大量代码堆积在工程师本地,造成本地的开发分支和团队主干分支差异过大,导致最后无法合并提交。

代码提交的方法

常用的开发模式有主干开发和分支开发两种,当团队成员较多的时候,通常是分支—主干开发模式,为了保障团队的高效协作,团队通常会约定一个规则进行代码提交,下面步骤可供参考。

1 创建开发分支

团队成员在进行代码修改之前,首先创建一个自己的开发分支,然后从主干分支检出最新版本的成功代码到开发分支。

2 本地修改代码

在本地进行代码修改,包括新功能开发、变更实现、缺陷修复等所有会产生代码修改的工作。

3 本地验证

代码修改后,在本地进行编译构建和功能验证。保证修改的代码质量,以及确认修改是否实现了预期的功能。如果功能验证有问题,还需要继续修改代码,然后再验证,直到成功为止。需要注意的是,要控制这个过程的时间,不要过长,一般不超过一天,通常每人每天至少要向主干提交一次代码。这就需要在拆分任务的时候要保证任务的颗粒度不要过大,尽可能小,任务的时间单位通常是小时,最多不要超过8小时,这也和每人每天至少提交一次代码的原则相呼应。

4 合入开发分支

本地确认没有问题后,可以将代码合入开发分支,并触发分支门禁构建,通过之后进行代码审核再合入,确保代码质量达标。需要注意的是,在本地修改代码过程中,主干分支可能会有变化,其他成员会提交代码到主干,所以需要先将开发分支和主干分支进行同步,确保是最新代码,然后再进行合并。

5 开发分支验证

代码合并到开发分之后,对开发分支进行功能验证。

6 合入团队主干分支

在开发分支验证无误后,此时代码可以合入到主干分支,触发主干门禁构建,门禁构建通过之后,再通过代码评审合入到主干,同时进行功能验证

这样一次代码修改和提交的过程就完成了,这时候可能是修复了缺陷、开发了新功能或者完成了一次变更。在下一次开始工作前还是相同的流程,重复①~⑥这几个过程。

在上面的步骤中,我们可以看到一次代码提交至少有三次编译、两次门禁检查、两次代码审核、三次功能验证,极大的保证了代码的质量和功能的正确性。同时,尽早频繁提交代码,还可以尽早的发现问题,及时修正,避免到了开发后期,修复的成本大大提高,这也是顺应了敏捷的小步快跑,及时反馈的原则。

云上开发实践

我们以华为云 Dev Cloud 为例,来看一下具体操作。通过华为云DevCloud的代码托管、代码检查、流水线服务可以完成持续代码提交操作。

1、云上开发,首先要将代码放置在云上。可以将本地的代码导入到DevCloud中,或者直接在DevCloud创建代码包,然后代码托管服务中创建开发分支,通常是基于master分支。

2、然后是代码修改,可以下载到本地进行修改,或者使用CloudIDE进行云端编程。

3、修改完成后,在本地或者云端进行构建验证,成功后就可以启动开发分支流水线将代码提交到开发分支。

4、流水线执行完成后表示开发分支合并成功,接下来可以申请将代码合入到主干分支。

注意选择正确的分支以及评审人,评审人通常还负责代码评审的工作。

5、合并审批通过后,就可以启动主干流水线,进行构建和验证。

至此,就完成了一次代码修改提交到主干的过程,后续可以根据项目和业务的要求继续进行测试和部署。

点击关注,第一时间了解华为云新鲜技术~

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐