写点什么

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

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

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


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


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


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


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


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


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


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


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


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


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


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


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

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

石云升

关注

做时间的朋友,用文字记录成长。 2017.11.30 加入

微信公众号:石云升SYS 工作内容:组织建设、职业规划、绩效考核、申请知识产权(软著、商标、专利等)、经营资质(微信服务商、icp/edi、国高等),如你有相关问题,可留言,看到后会回复。遇到喜欢的文章请点赞。

评论

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