【问题标题】:Why Service Hook doesn't triggers deployment on opsworks stack?为什么 Service Hook 不会触发 opsworks 堆栈上的部署?
【发布时间】:2017-06-26 19:17:32
【问题描述】:

每次推送到特定分支 (GitHub) 时,我都会尝试在我的 opsworks 堆栈上触发部署,我按照此处的说明进行操作 http://bytes.babbel.com/en/articles/2014-01-22-github-service-hook-for-aws-ops-works.html 并输入堆栈 ID、应用 ID、分支名称和 Aws 访问权限键。

问题是,当我推送到我的分支时,服务挂钩不会触发 opsworks 上的部署,我还尝试在 Github 上的服务挂钩中使用“测试服务”按钮,但它只显示:

"Okay, the test payload is on its way." 

但是没有回复,我还按照这篇帖子Can I automate an application deployment via webhook to OpsWorks? 中的建议查看了我的权限级别,一切看起来都很好。

这里的文档https://developer.github.com/webhooks/testing/ 说“每个 webhook 都有自己的“最近交付”部分”,我在“集成和服务”中找不到它,因此无法检查发生了什么。

有没有办法在 GitHub 中查看我的服务挂钩的日志或历史记录?或者我如何检查响应?

【问题讨论】:

  • 不知道为什么我在这个问题上得到了负面评价,很高兴知道原因将有助于改善我的问题。

标签: github webhooks aws-opsworks


【解决方案1】:

在 GitHub 配置提供程序上发现了问题,它的错误并在 4 小时前报告:https://github.com/hashicorp/terraform/issues/11824

基本上,他们将 API 端点硬编码为 us-east-1,这仅在您的 VPC 位于该区域时才有效,我使用 api 端点为 us-east-1 的堆栈运行了一些测试,它工作。

要完成这项工作,您必须创建另一个位于同一区域下的 VPC,或者等待 GitHub 何时解决此问题。

更新:

这里是服务https://github.com/github/github-services/blob/master/lib/services/aws_ops_works.rb使用的源代码的链接

【讨论】:

  • 谢谢 - 我遇到了同样的问题,这证实了我的怀疑。希望 GitHub 能尽快排序;不幸的是,您链接的问题与 Github 的服务实现无关,所以我不确定它是否已修复。
  • 我已经提交了一个 PR 来为 API 端点添加一个配置选项 - github.com/github/github-services/pull/1206
  • 谢谢!!我向 github 提交了一个错误,他们没有承认错误,答复是“我们目前只接受这些服务的错误修复和安全改进,考虑到这一点,我认为不会添加更多配置选项在不久的将来。所以我建议改用一个普通的 webhook,将它指向你要构建的一个小型代理服务,然后使用该代理服务来调用 opsworks。 :(
【解决方案2】:

来自documentation webhooks/testing 说“每个 webhook 都有自己的“最近交付”部分”,我在“集成和服务”中找不到它,因此无法检查发生了什么。

Update June 2021,现在有,通过GitHub API

您现在可以通过 REST API 以编程方式检查状态并重新发送存储库、组织和应用程序 Webhook,以补充当前在 Settings user interface 中提供的功能。

使用these new API endpoints,您现在可以列出过去 30 天的 webhook 交付尝试,读取特定交付的状态和有效负载,并在需要时触发重新交付。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-26
    • 2015-08-13
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    相关资源
    最近更新 更多