如何接收 OpsWorks 部署通知?
Posted
技术标签:
【中文标题】如何接收 OpsWorks 部署通知?【英文标题】:How to receive OpsWorks deployment notifications? 【发布时间】:2014-09-22 23:53:15 【问题描述】:我希望在 OpsWorks 堆栈或应用部署完成时通过 SNS 主题(或者可能是 SQS 队列)接收通知。主题应包括堆栈 ID、部署结果(成功或不成功),也许还包括堆栈面向公众的 DNS 名称。令人惊讶的是,这似乎不是现成的功能。
可能的实现:
我的部署应用程序可以轮询堆栈的部署状态并阻塞,直到部署完成,此时应用程序将负责检索堆栈的详细信息并将其传递到 SNS。这简单明了,但相当不优雅。
我可以编写一个 Chef 部署挂钩来调用 ruby_block
中的 AWS API,并将此挂钩附加到 OpsWorks restart
事件。这很好,很干净,我的所有堆栈信息都已提供给配方,但它给整个部署系统带来了额外的复杂性。
还有更好的选择吗?
【问题讨论】:
【参考方案1】:我们现在要做的是挂钩部署挂钩 (ref) 并使用 AWS 实例角色发送 sns/ses 消息。没有一个简单的现成物品。
【讨论】:
谢谢,很高兴知道我的怀疑(和解决方案)是正确的。在与我的团队讨论之后,我们实际上正在寻找我的第一个解决方案,因为部署管理器旨在填补 OpsWorks 的空白,而无需强加特定的应用程序结构(或添加任何自定义配方)。 部署挂钩不再适用于 Chef 12 :/。我一直在使用它,但它并不能完全满足我的需求:github.com/zuazo/chef_handler_sns-cookbook以上是关于如何接收 OpsWorks 部署通知?的主要内容,如果未能解决你的问题,请参考以下文章