如何使用CodeDeploy和AutoScalingGroup包含多个目标组来部署代码

时间:2018-10-08 06:00:25

标签: amazon-web-services amazon-ec2 aws-code-deploy aws-elb

这是我的情况。

  • 一个具有三个应用程序[4000、4001、4002]的实例。

  • 创建ALB并使用规则将3个域重定向到三个目标组

  • 当我使用Code-deploy [Blue-green]创建应用程序时,它一次只请求一个目标组。但我有三个与 自动缩放组。

  • 在部署之后,它不会向其他两个目标组注册实例。我尝试了创建不同的ALB,即三个目标组的三个ALB。但是我最终进行了代码部署,将流量发送到一个目标组。

我正在直接从bitbucket部署代码。我需要代码来部署[Blue-green]以向所有三个目标组自动注册实例。但是根据AWS CodeDeploy文档,在代码部署时只能选择一个目标组。任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

目前,CodeDeploy不支持在单个部署中配置多个目标组。有一些解决方法,但是它们并不出色。

1。将每个应用程序分为自己的部署组并分别进行部署

您可以在不同的部署组中分别部署每个应用程序,这将使您可以注册/注销每个目标组。但是,这种方法不适用于蓝色/绿色部署。

2。在用户脚本中注册/注销2个目标组

您可以将您的appspec配置为使用脚本从2个目标组注册和注销。 There is a sample script on Github,但不建议将其用于生产。

3。将您的应用分为3组实例

现在,您正在同一主机上运行3个不同的应用程序。您可能有充分的理由这样做,但是如果您可以将应用程序分解为3个不同的主机集,则可以将它们分解为3个不同的部署组,并且仍然使用蓝色/绿色部署。