Skip to content

Latest commit

 

History

History
69 lines (57 loc) · 2.94 KB

第十章 应用程序的部署与发布.md

File metadata and controls

69 lines (57 loc) · 2.94 KB

创建发布策略

  • 每个环境部署和发布的责任制。
  • 资产和配置管理策略。
  • 部署时所用技术达成共识。
  • 实现部署流水线的计划。
  • 枚举所有的环境
  • 部署时应该遵循的流程
  • 对应用程序的监控需求,通知API或服务。
  • 配置方法如何管理
  • 外部系统集成策略。
  • 记录日志详情
  • 制定灾难恢复计划
  • 生产环境的数量大小及容量计划
  • 制订一个归档策略
  • 如何修复生产环境中出现的缺陷,并为其打补丁。
  • 如何升级生产环境中的应用程序以及迁移数据。
  • 如何做应用程序的生产服务和技术支持。

应用程序的部署与晋级

  • 每次部署时使用相同的流程和使用同样的方法,向每个环境部署。在首次向测试环境部署时就应该使用自动化部署。

首次部署

  • 首次部署MVP,让流水线运行起来
    1. 部署流水线提交阶段
    2. 类生产环境
    3. 将提交阶段中生成的二进制包,部署到这个类生产环境(UAT)中,做一个简单的冒烟测试,用于验证本次部署的正确性

发布过程建模并让构建晋级

  1. 一个版本要通过哪些测试阶段
  2. 每个阶段需要设置怎样的质量门禁
  3. 谁有权批准让该构建版本通过该阶段

环境与配置信息晋级

  1. 比如用冒烟测试来验证配置信息的正确性。

部署到试运行环境

  1. 发布前的一段时间就准备好生产环境,并把它作为部署流水线的一部 分向其进行部署。
  2. 准备好一个自动化过程,对环境进行配置,包括网络配置、外部服务和基础 设施。
  3. 确保部署流程是经过充分冒烟测试的。
  4. 与外部系统进行测试集成。
  5. 发布之前就把应用程序放在生产环境上部署好,蓝绿部署
  6. 试着把它发布给一小撮用户群。这种技术叫做金丝雀发布。
  7. 将每次已通过验收测试的变更版本部署在试运行环境中(尽管不必部署到生产环境)。

部署回滚和零停机发布

  • 两个原则:

    1. 发布前,确保生产系统的状态已备份
    2. 每次发布之前都练习一下回滚计划
  • 通过重新部署历史版本进行回滚

蓝绿部署

  • 将新版本部署在蓝环境,在蓝环境下测试后,将路由配置到蓝环境。
  • 蓝绿部署要小心管理数据库

金丝雀发布

  • 金丝雀发布:把应用程序新版本部署到生产环境中的部分服务器中,让部分用户使用。

紧急修复

  • 原则:紧急修复版本也需要走构建、部署、测试和发布的标准流水线。

持续部署

  • 让部署到生产发布也自动化。理想情况下,如果某次提交通过了所有的测试环节,就直接部署到生产环境中。可以与金丝雀发布结合。

小贴士

  • 不要直接对生产环境进行修改
  • 移动文件,而不是删除