CodeDeploy

优势

服务器、无服务器和容器应用程序
自动部署
最大程度减少停机时间
停止并回滚
集中控制
易于采用
并发部署

 

 

部署配置
https://docs.aws.amazon.com/zh_cn/codedeploy/latest/userguide/deployment-configurations.html
  Canary
  线性
  All-at-once
  或自定义金丝雀】线性部署配置

1、EC2/本地
  CodeDeployDefault.AllAtOnce  (就地、蓝绿)
  CodeDeployDeafult.HalfAtTime  (就地、蓝绿)
  CodeDeployDefault.OneAtATime  (就地、蓝绿)      如果前n-1个有一个失败,则失败;前n-1个成功,就认为是成功

2、Lambda
  CodeDeployDefault.LambdaCanary10Percent5Mintues    第一次增量转移10%的流量。其余90%部署在五分钟后进行转移
  CodeDeployDefault.LambdaCanary10Percent10Mintues
  CodeDeployDefault.LambdaCanary10Percent15Mintues
  CodeDeployDefault.LambdaCanary10Percent30Mintues
  CodeDeployDefault.LambdaLinear10PercentEvery1Mintue  每个1分钟转移10流量
  CodeDeployDefault.LambdaLinear10PercentEvery2Mintue
  CodeDeployDefault.LambdaLinear10PercentEvery3Mintue
  CodeDeployDefault.LambdaLinear10PercentEvery10Mintue
  CodeDeployDefault.LambdaAllAtOnce              一次性全部


3、ECS
  CodeDeployDefault.ECSLinear10PercentEvery1Minutes  每分钟转移10%的流量,直到所有流量转移完毕
  CodeDeployDefault.ECSLinear10PercentEvery3Minutes  每隔3分钟转移10%流量,直到所有流量转移完毕
  CodeDeployDefault.ECSCanary10Percent5Minutes     在第一次增量中转移10%流量,其余90%部署在五分钟后进行转移 
  CodeDeployDefault.ECSCanary10Percent15Minutes     在第一次增量中转移10%流量,其余90%部署在15分钟后进行转移
  CodeDeployDefault.ECSAllAtOnce              所有流量一次性转移到更新后的ECS容量
 

 

 

 

 

 

2、appspec.yml 的钩子
https://docs.aws.amazon.com/zh_cn/codedeploy/latest/userguide/reference-appspec-file.html

1、
  BeforeInstall
  AfterInstall
  ApplicationStart
  ApplicationStop
2、ECS
  BeforeInstall    用于在创建替换任务之前运行的任务。此时无法回滚
  Install
  AfterInstall       。。。    之后运行的任务。函数结果可能触发回滚
  AllowTestTraffic
  AfterAllowTestTraffic  在允许测试侦听器替代任务提供的流量之后,用于运行任务。函数结果可能触发回滚
  BeforeAllowTraffic    ...
  AllowTraffic  
 AfterAllowTraffic    ... 
3、Lambda
  BeforeAllowTraffic
  AllowTraffic
  AfterAllowTraffic

 

posted @ 2020-06-06 18:48  慕沁  阅读(655)  评论(0)    收藏  举报