持续交付(第五章)—部署流水线解析

在上一章中,学到了关于测试的一些策略实现,作者从两个维度对测试进行划分,一个是业务导向,还是技术导向,另一个维度是为了支持开发过程,还是为了对项目进行评价。在这一章中,作者向我们介绍了部署流水线。

持续集成

什么是部署流水线

从某种抽象层次上讲,部署流水线是指软件从版本控制库到用户手中这一过程的自动化表现形式。部署流水线是对软件从设计,开发,构建,测试等过程的建模,在持续集成和发布管理工具上,它体现为支持查看并控制流程,包括每次变更从被提交到版本库控制开始,直至通过各类测试和部署,再到发布给用户的过程。

部署流水线的相关实践

  • 只生成一次二进制包
  • 对不同环境采用同一部署方式
  • 对部署进行冒烟测试
  • 向生产环境的副本中部署
  • 每次变更都要立即在流水线中传递
  • 只要有环节失败,就停止整个流水线

提交阶段

我们不想在那些明显有问题的版本上花费时间和精力,所以当开发人员提交变更到版本控制系统后,我们希望尽快地评估一下这个版本,让开发人员快速得到反馈,所以我们需要践行提交阶段的最佳实践,开发人员需要一直等到部署流水线的提交阶段成功完成,如果失败了,开发人员要么快速修复问题,要么将提交的代码回滚。

部署流水线的测试

部署流水线中很大一部分就是测试,跑各种各样的测试,快速获取反馈进行修改。全面的提交测试套件对于发现许多错误来说,是非常优秀的试金石,在这个试金石中,我们的测试有,单元测试,集成测试,组件测试,配置测试,冒烟测试,手工测试,探索性测试等等,从各个方面帮助我们去尽在发现在项目中潜在的问题。

实现一个部署流水线

无论是从零创建一个项目,还是想为已有的系统创建一个自动化的流水线,通常都应该使用增量式的方法来实现部署流程。建立一个完整的流水线的策略,步骤如下:

  • 对价值流的建模,并创建一个可工作的简单框架
  • 将构建和部署自动化
  • 将单元测试和代码分析自动化
  • 将验收测试自动化
  • 将发布自动化

总结

我的收获

  • 部署流水线的前提就是项目自动化,测试的完备性,反馈的及时性,以及团队成员对于持续交付的相关实践。
  • 增量式开发

我的疑惑

  • 价值流建模的可行性怎么样?团队可以按照原有的日期按时完成么
  • 冒烟测试是测试哪方面的?
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 部署流水线 出现原因在软件的发布过程中,很多浪费来自于测试和运维环节。解决方案就是采取一种更完善的端到端的方法来交...
    落花的季节阅读 5,224评论 0 0
  • 一 什么是部署流水线 部署流水线是指软件从版本控制库到用户手中这一过程的自动化表现形式。我们知道软件的每一次变更都...
    司鑫阅读 3,624评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,224评论 19 139
  • 基本的部署流水线就是从提交开始逐步通过每个测试阶段的自动化的过程。越往前的阶段有更快的反应速度,越往后走,信心不断...
    大饭团子阅读 5,498评论 0 1
  • 今天,带我学车的朋友说,很久没见你了。立夏了,准备来游泳吧。不是一直想学么?去年赶上了尾巴,今年重新开始吧。 对于...
    格格blue0229阅读 1,751评论 2 1

友情链接更多精彩内容