【问题标题】:How can I detect when my github repository is pushed to?如何检测我的 github 存储库何时被推送到?
【发布时间】:2014-06-28 20:02:31
【问题描述】:

有一个托管在 Amazon Web Services 上的网站,我想运行一个 bash 脚本,以便在将更改推送到存储库时自动构建我的 github 项目。我的 aws linux 服务器如何检测我的存储库何时被推送到?

【问题讨论】:

标签: amazon-web-services github


【解决方案1】:

你可以使用GitHub's Webhooks:

每个 GitHub 存储库都可以选择在将存储库推送到时与 Web 服务器进行通信。这些“webhook”可用于更新外部问题跟踪器、触发 CI 构建、更新备份镜像,甚至部署到您的生产服务器。

github-services project 支持开箱即用的large number of popular services

或者,您可以自己使用 Webhook 配置 an HTTP message,以便在给定的 event 发生时发送到任意端点。您需要在端点上配置一个服务来侦听和响应 GitHub 的消息。

【讨论】:

  • 同样的想法,但缺少监听器部分。
  • 感谢@VonC,我已经更新了我的答案,以澄清必须将“任意端点”配置为侦听和响应 GitHub 的消息。
  • 我将我的 webhook 设置为“example.com:4444”并尝试使用“nc -l 4444 > filename.out”来监听它,但我什么也没得到。我可以只发布到网页上吗?如果可以,我该如何触发 bash 脚本?
  • @SteveDeFacto,您应该能够使用任何能够理解 HTTP 的工具进行收听,但您需要确保您的端点已暴露给 GitHub。他们的例子uses a tool called ngrok。您可能还想浏览their Testing Webooks 页面,该页面说明了如何查看“最近的交付”。
【解决方案2】:

您可以register a webhook on your GitHub repo 以便将trigger a message 发送到您的aws 服务器。
但是,正如“Sync the local code to Amazon server through GitHub webhook”中所述,这意味着您在该 AWS 服务器上有一个侦听器,它将侦听此类消息。

【讨论】:

    猜你喜欢
    • 2020-01-18
    • 1970-01-01
    • 2022-01-17
    • 2013-11-18
    • 2012-08-25
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    相关资源
    最近更新 更多