CodeDeploy部署方式

In-place deployment(原地部署)

先停掉1台机器, 往上面部署新版本应用,循环进行此步骤:

image-20220314095345680

Blue/green deployment(蓝绿部署):

image-20221002103019168

当使用蓝绿部署时,有两种选择:

image-20220317230153926

Automatically copy Amazon EC2 Auto Scaling group(从已有ASG中进行复制): 在进行蓝绿部署时,CodeDeploy会使用原来的ASG的所有配置做为新版本的配置

Manually provision instances: 先指定好哪些EC2作为新版本的部署机器(使用EC2 tag或ASG名称进行筛选)

image-20220317231054955

在创建蓝绿部署时,需要确定:

  • 是否需要将流量马上切到新的部署版本上,还是等待一段时间手工来切

  • 切到新版本流量的占比是多少

  • 原来版本所在的机器是下掉还是继续运行


如果选择了Automatically copy Amazon EC2 Auto Scaling group(从已有ASG中进行复制),会新创建一批实例,在这批实例上部署新版本的应用:

image-20220317231818912

如果设置了等待时间(I will choose whether to reroute traffic),这段时间可以给你用于测试新版本应用,如果超过这段时间没有手动进行reroute操作,那么部署会中止

一般不建议使用manually provision instances,因为它不符合DevOps的思想,需要人工干预