我正在使用Codedeploy推送到自动缩放组中的ec2实例。有时,该自动扩展组没有运行任何现有实例。当我在那种情况下部署时,即使我已将最低健康主机设置为0个实例,代码部署仍然会失败。
无论如何,当有0个实例时,我可以使用代码部署来说“成功”吗?
当codedeploy失败时,它不会更新修订版。这在我的情况下真的很痛苦。
答案 0 :(得分:1)
部署组中至少需要一个实例才能使部署成功。使用CodeDeploy挂接Autoscaling组(包含至少一个实例)后,应该成功部署以更新部署组的目标修订。在此之后,任何新的实例扩展都应该自动获取目标修订版。
您还可以将自动缩放组的:min属性设置为1,以始终在其中保留单个实例。
答案 1 :(得分:0)
我知道已经过去两年了,但是我也遇到了同样的问题。我的解决方法是为Auto Scaling组创建自己的生命周期挂钩,并为部署修订版本创建SNS + Lambda。
问题是,您应该先为应用程序注册一个修订版本,而不要部署它。 Auto Scaling Group创建新实例后,该挂钩将向Lambda发送SNS消息,然后您可以(基于收到的消息+环境变量)查找修订(已创建)并将其部署到新版本实例。
我已经使用CloudFormation链接了所有这些内容-对于此变通办法以及所有其他与AWS相关的服务,我极力推荐。