当 OpsWorks 堆栈或应用程序部署完成时,我希望通过 SNS 主题(或者可能是 SQS 队列)接收通知。该主题应包括堆栈 ID、部署结果(成功或不成功),或许还包括堆栈的面向公众的 DNS 名称。令人惊讶的是,这似乎并不是现成的功能。

可能的实现:

  • 我的部署应用程序可以轮询堆栈的部署状态并阻止,直到部署完成,此时应用程序将负责检索堆栈的详细信息并将其传递到 SNS。这简单明了,但相当不优雅。

  • 我可以编写一个 Chef 部署挂钩来调用 AWS API ruby_block, ,并将此挂钩附加到 OpsWorks restart 事件。这很好而且很干净,并且我的所有堆栈信息都已提供给配方,但它给整个部署系统带来了额外的复杂性。

还有更好的选择吗?

有帮助吗?

解决方案

我们现在要做的就是挂钩部署挂钩(参考 )并使用 AWS 实例角色发送 sns/ses 消息。没有一个简单的现成产品可以做到这一点。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top