程序开发中的持续集成、持续交付、持续部署

用户头像
石云升
关注
发布于: 2020 年 08 月 22 日
程序开发中的持续集成、持续交付、持续部署

看了《敏捷开发修炼之道》的持续集成,看的我有点迷糊。我想以我自己的理解,来解释什么是持续集成、持续交付、持续部署。有问题的地方希望大家给予指出。



持续集成就是要求我们频繁提交新的代码,保证新代码与原来代码能够正常的使用。以Git进行代码管理为例,持续集成就是要求我们把新完成的代码提交到Git的一个分支上,并要求通过测试,保证代码能正常运行。在多人协作开发的时候,一天多同步几次,能减少代码冲突。持续集成的目的,是让产品可以快速迭代,同时保证代码质量。



持续交付指的是,在持续集成的基础上,将集成后的代码部署到测试环境(主分支),测试人员测试通过后,就可以手动部署到生产环境中。



持续部署是持续交付的下一步,指的是把测试通过的代码,通过自动化工具部署到生产环境(无需人工操作)。而对用户来说,当所有功能通过云环境的自动部署后,其APP或网站等软件能获取到更新状态,并自行提示用户更新。



我公司的开发流程大体一致,其过程有以下几步。



1、本地编码,要提交时,先从Git上拉取代码到本地,有冲突解决冲突。



2、运行合并后代码。并进行简单的测试。如:单元测试,功能测试。保证功能正常运行。



3、直到一个模块或一个功能开发完成后,团队内整合构建一个整理的测试版本。交付到测试部门。



4、测试部门进行测试。输出测试报告。开发根据测试问题清单修复问题 - 再继续测试 - 直到达到上线标准。测试达标后会构建上线版本。



5、准备上线资料,运维通过工具部署新版本。注意备份原版本。



6、如果线上版本出现问题,回滚到上一个版本。修复后再上线。



7、每个上线版本代码都要打tag,方便以后有需求要在此版本上做修改。



开发流程达成共识后,版本更新就会很顺畅。而自动化部署搭建好后,基本不用担心上线环节会出问题(没有变动的情况下)。

发布于: 2020 年 08 月 22 日 阅读数: 51
用户头像

石云升

关注

走出心里舒适区。做时间的朋友。 2017.11.30 加入

以输出为学、以教为学、以用为学。

评论

发布
暂无评论
程序开发中的持续集成、持续交付、持续部署