首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Azure DevOps中为可维护的蓝绿色部署定义发布管道

如何在Azure DevOps中为可维护的蓝绿色部署定义发布管道
EN

Stack Overflow用户
提问于 2020-03-16 22:32:07
回答 1查看 1.1K关注 0票数 1

我在Azure DevOps中重新创建我们的非常复杂的部署过程。目前,我们的生活环境是由4个VM背后的负载均衡器。

我考虑过的策略是一种蓝绿色部署,只是每次我都会使用VM的 (2)。

这不像滚动部署,因为不会有两个版本同时运行。

一旦我完成了前半部分的部署,并确保它已经启动并运行,我将立即连接它,并立即断开另一半的连接,以便将新版本部署到它上。

我现在不能做蓝绿色(在新版本中部署一套完整的VM),因为不幸的是,IP是硬编码的。仅在部署时间内,使用2个VM的活动环境就会很好。

我的问题是如何在Azure DevOps中为这种解决方案配置发布管道(我使用的是GUI版本,而不是YAML)?(这些是阶段)

DbConversionDev > FirstHalfDev > SecondHalfDev > DbConversionQA > FirstHalfQA > SecondHalfQA > DbConversionProd > FirstHalfProd > SecondHalfProd

也许db转换阶段可以并行。

这似乎很复杂,也很难维护。有什么建议吗?(预先谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-17 14:24:38

例如,您可以尝试创建部署组,例如第一组和第二组--将代理/VM注册到组中,在发布管道中为第一个组创建部署组作业,然后添加步骤以验证部署是否成功并启动/运行,以及在同一管道中为第二个部署组创建另一个部署组作业。(注意:您可以为任何手动干预创建一个无代理作业)

编辑

以下是完整的解决方案,作为对话的总结:

为每个环境创建一个部署组(例如Dev、QA、Prod),并将部署组中的代理/VM的前半部分标记为蓝色,另一半标记为绿色。

在发布管道中,为每个环境(例如,Dev、QA、Prod)创建一个阶段,并在一个阶段为相应的部署组(Dev Stage -> Deployment )创建2个部署组作业,每个作业都有一个不同的标记:蓝色和绿色。这将确保,在一个工作中,一半的VM将受到部署的影响。

为了便于重用,请将任务分组到任务组中,以便在部署组作业中重用它们。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60714029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档