amazon-web-services - 如何使用 CodeDeploy 和包含多个目标组的 AutoScalingGroup 部署代码
问题描述
这是我的情况。
一个实例与三个应用程序 [4000, 4001, 4002]。
创建了一个 ALB 并使用规则将 3 个域重定向到三个目标组
当我在 Code-deploy [Blue-green] 中创建应用程序时,它一次只要求一个目标组。但我有三个与自动缩放组关联的目标组。
部署后,它不会向其他两个目标组注册实例。我尝试创建不同的 ALB,即三个具有三个目标组的 ALB。但我最终在代码部署中向一个目标组发送流量。
我直接从 bitbucket 部署代码。我需要代码来部署 [Blue-green] 以向所有三个目标组自动注册实例。但根据 AWS CodeDeploy 文档,在代码部署时只能选择一个目标组。非常感谢任何形式的帮助。
解决方案
目前,CodeDeploy 不支持在单个部署中配置多个目标组。有解决方法,但它们并不出色。
1. 将每个应用分解成自己的部署组并单独部署
您可以将每个应用程序分别部署在不同的部署组中,这将允许您注册/取消注册到每个目标组。但是,这种方法不适用于蓝/绿部署。
2. 在您的用户脚本中注册/取消注册 2 个目标组
您可以使用脚本配置您的 appspec 以从 2 个目标组注册和注销。Github 上有一个示例脚本,但不建议将其用于生产用途。
3. 将您的应用程序分解为 3 组实例
现在,您在同一主机上运行 3 个不同的应用程序。您可能有充分的理由这样做,但是如果您可以将应用程序分成 3 组不同的主机,您可以将它们分成 3 个不同的部署组,并且仍然使用蓝/绿部署。
推荐阅读
- java - 函数未运行时的 Java
- django - 更好的 OOP 实践使用关系映射向类添加方法
- sqlite - 无法在循环内构建 rusqlite 事务:使用移动值并且不能一次多次借用可变值
- c# - 我可以在 C# 的 for 循环中跳过赋值语句吗?
- java - 如何使用 openapi-generator 为打开的 API 规范文件生成模拟
- javascript - 类型页面是 2 个模块错误声明的一部分
- html - 如何使我的网页上的文本可选?
- python - 我的 Codekata 解决方案提供了正确的解决方案,但在最终测试用例中遇到了性能问题
- bash - 有没有办法在我的 shell 脚本中并排运行两个命令?
- python - Scrapy 输出项 - 多种解析方法,每项一行