如何接收 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 部署通知?的主要内容,如果未能解决你的问题,请参考以下文章

无法接收从 Pushwoosh 到 TestFlight 分布式应用程序的推送通知

如何接收和处理 Chrome 通知/推送通知?

如何在前台接收推送通知时显示颤振本地通知?

如何在没有用户交互的情况下在后台接收 iOS 通知

从解析接收通知时如何打开不同的活动

如何从 nodejs 接收(不发送)推送通知?