我正在使用创建启动配置和自动缩放组的 CloudFormation 模板。此启动配置的用户数据脚本调用 CI Web-hook 以将应用程序部署到此实例中。自然 web-hook 会立即响应 200,但部署过程需要 2-3 分钟。如果我cfn-signal
立即调用,实例将很快注册到负载均衡器,那么我该如何推迟呢?理想情况下,我认为 CI 应该发出应用程序部署是否成功的信号。
我正在使用创建启动配置和自动缩放组的 CloudFormation 模板。此启动配置的用户数据脚本调用 CI Web-hook 以将应用程序部署到此实例中。自然 web-hook 会立即响应 200,但部署过程需要 2-3 分钟。如果我cfn-signal
立即调用,实例将很快注册到负载均衡器,那么我该如何推迟呢?理想情况下,我认为 CI 应该发出应用程序部署是否成功的信号。
如果您想从已启动的 EC2 实例之外的 CI 进程触发 CloudFormation 资源创建完成而不
cfn-signal
从实例调用,您可以直接或通过任何 AWS 开发工具包(例如,从 CLI )使用SignalResourceaws cloudformation signal-resource
API 调用发出信号,cloudformation.signalResource
来自 NodeJS SDK 可能通过 Lambda 函数等。只需确保使用您发出信号的实例 ID 作为“唯一 ID”。