快速成长期应用架构实践 (18):持续交付

勿忘初心2018-11-15 13:30

欢迎访问网易云社区,了解更多网易技术产品运营经验。


4.6.2 持续交付


持续交付是指周期性地将新版本软件交付给质量运营团队或者用户,以供测试评审。 如果评审通过,代码就进入生产阶段。持续交付的核心是不管有多少更新,软件始终可以交付。


持续交付的价值 

持续交付的价值主要体现在以下 3 个方面。 


云原生应用架构实践 

快速发布产品新特性:持续交付可以缩短编码、测试、演练、上线、交付的迭代 周期,使每个步骤中出现的问题得到快速响应。在产品上的体现就是缩短软件功 能的发布周期,从而可以更好地应对业务需求变化。

高质量的软件发布标准:由于整个软件交付过程实现了标准化,整个交付过程可 重复、过程进度可视化,从而大大减少了软件的管理成本,管理人员可以更容易 地提高项目质量,推动项目改进,从而提高整个产品的交付质量和成熟度。

提高团队协作效率:持续交付需要产品、交互、开发、测试、运维等多个角色密 切协作,相比于传统的瀑布式软件开发,团队直接协作更加紧密,可以减少团队 之间的协调成本,提升整个团队的开发效率。


网易云基础服务持续交付 

网易云基础服务持续交付是按各个业务功能模块分别持续交付,最终达到整个平台的 持续交付。持续交付基本流程如图 4-44 所示。 

1. 开发人员提交代码或脚本到源码仓库(SOURCE REPOSITORY)。 

2. 编译服务器(CI SERVER)接收到源码编译任务,编译指定项目可执行文件(Go 语言项目同时编译和执行单元测试用例)。

3. 执行 Docker 命令打包可执行程序及相关环境变量、配置等为指定版本镜像。

4. 上传镜像到 DOCKER REGISTRY。 

5. 拉取指定镜像版本执行全量单元测试用例。 

6. 测试结果自动反馈给开发和测试。

7. 测试人员拉取镜像执行黑盒测试、可靠性测试等用例。执行结果直接反馈给开发。 

8. 通过上面步骤测试和评估后进入演练环境(STAGING)试用或测试。执行结果直 接反馈给开发。 

9. 开发、测试、质量管理评估风险后进入产品试点环境。


图 4-44 持续交付基本流程

文章节选自《云原生应用架构实践》 网易云基础服务架构团队 著 


网易云计算基础服务深度整合了 IaaSPaaS 及容器技术,提供弹性计算、DevOps 工具链及微服务基础设施等服务,帮助企业解决 IT、架构及运维等问题,使企业更聚焦于业务,是新一代的云计算平台。点击可免费试用