扫码阅读
手机扫码阅读

一文看懂持续部署按需发布!DevOps部署和发布方法大全【万字长文】

1858 2023-09-01
文章摘要

文章摘要

前言:为了敏捷DevOps目的,即持续最短周期价值交付,需快速部署和发布。本文探讨部署与发布的概念、部署和发布策略,并最后总结。

什么是部署与发布

部署是指在特定环境中安装指定软件版本,发布则是向用户提供特性的过程。在互联网前,通常先发布后部署;现代则常见部署即发布。敏捷DevOps时代,部署和发布解耦,成为持续部署和按需发布。

持续部署

持续部署是自动化地将软件包发布到生产环境,而按需发布是根据业务需要决定何时发布功能。

持续部署实践

  • 蓝绿部署:通过两个生产环境,一个旧一个新,测试新环境后快速切换。
  • 滚动部署:逐步更新服务集群的服务单元,直至全部更新。
  • 黑启动:新版本部署后对用户无感,然后逐渐扩大用户范围。

按需发布实践

  • 金丝雀发布:先向部分用户发布,再全面发布。
  • 灰度发布:在金丝雀发布基础上,分阶段扩大用户数量。
  • A/B测试:提供两个版本功能给用户,通过对比决定更优版本。

支持不同发布方式的技术实现

  • 特性开关:代码中控制特性发布。
  • 特性分支:版本控制中为特性创建分支。
  • 抽象分支:设计手段达到分支效果,逐步实现重构。

非死不可Facebook的案例

Facebook采用主干开发、分支发布,并结合特性开关、黑启动等技术实现快速稳健的部署和发布。

总结

特性开关是频繁发布的关键技术,而部署和发布策略选择应根据实际情况和需求。

想要了解更多,点击 查看原文

精益、敏捷、DevOps、创新等的方法、经验、随笔等

18 篇文章
浏览 8777
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设 白皮书上线