AWS Deploy 部署策略

AWS 提供的三种预定义的部署配置之一,也可以创建自定义部署配置

AllAtOnce 一次性所有实例进行部署
HalfAttime 一次部署实例的一半数量
OneAtTime 一次仅部署一个实例

蓝/绿部署

Canary (金丝雀)
线性的
All-at-once

AllAtOnce i = 9; if ture < 9 then ture ;if false = 9 ;then false
一次性尝试将应用程序修订部署到尽可能多的实例。如果将应用程序修订部署到一个或多个实例,则整个部署的状态将显示为成功。如果尚未向任何实例部署应用程序修订,则整个部署的状态将显示为失败。以 9 个实例为例,CodeDeployDefault.AllAtOnce 尝试一次性部署到所有 9 个实例。如果部署到单个实例成功,则整体部署成功。仅当所有 9 个实例的部署失败时,它才会失败。
HalfAttime i = 9; if ture >4 ;then ture; ture<4 then false
一次最多可部署到一半实例(小数向下取整)。如果将应用程序修订部署到至少一半实例(小数向下取整),则整个部署成功。否则,部署失败。在包含 9 个实例的示例中,一次部署到最多 4 个实例。如果成功部署到 5 个或更多实例,则整个部署成功。否则,部署失败。
OneAtTime i =9; if ture >=8;then ture; if false <=8 then false
一次仅将应用程序修订部署到一个实例。
对于包含多个实例的部署组:
如果已将应用程序修订部署到所有实例,则整个部署成功。此规则的例外情况是,如果无法部署到最后一个实例,则整个部署仍将成功。这是因为 CodeDeploy 仅允许使用 CodeDeployDefault.OneAtATime 配置一次使一个实例脱机。
一旦应用程序修订无法部署到任何实例(但最后一个实例除外),整个部署将失败。
在使用 9 个实例的示例中,将一次部署到一个实例。如果部署到前 8 个实例成功,则整体部署成功。如果部署到前 8 个实例中的任何一个实例失败,则整体部署失败。
对于仅包含一个实例的部署组,整个部署仅在成功部署到单个实例时成功.

原文地址:https://www.cnblogs.com/syavingcs/p/14346952.html