繁体   English   中英

使用 Amazon EC2 的 Webhook

[英]Webhooks with Amazon EC2

我使用 EC2 实例来托管我的站点,并且我目前(正在尝试)使用webhook库和 Github Webhooks 设置自动部署管道。 我正在关注 webhook 的 repo 上的指南以及这篇博文(我理解它是用于数字海洋的东西,但我认为同样的东西通常适用)。

我能够在我的 EC2 实例上设置正确的配置文件——我必须指定 webhook 库从实例的私有IP 地址提供/使用内容,这是(根据我的理解)由分配的弹性 IP 自动 NAT 转换到实例。 这是我当前的hooks.json文件:

[{
    "id": "autodeploy",
    "execute-command": "/home/ubuntu/webhooks/autodeploy/deploy.sh",
    "command-working-directory": "/home/ubuntu/site",
    "response-message": "Executing deploy script..."
}]

根据文档,这告诉 webhook,当某个端点被GET / POST请求命中时, execute-command表示的路径处的脚本将被执行。 要实际启动服务器以接收这些GET / POST请求,我运行以下命令(并获得以下输出):

ubuntu@ip-xxx-xx-xx-xxx:~/webhooks$ webhook -hooks hooks.json -ip "xxx-xx-xx-xxx" -verbose
[webhook] 2019/12/22 08:30:48 version 2.5.0 starting
[webhook] 2019/12/22 08:30:48 setting up os signal watcher
[webhook] 2019/12/22 08:30:48 attempting to load hooks from hooks.json
[webhook] 2019/12/22 08:30:48 found 1 hook(s) in file
[webhook] 2019/12/22 08:30:48   loaded: autodeploy
[webhook] 2019/12/22 08:30:48 serving hooks on http://xxx-xx-xx-xxx:9000/hooks/{id}
[webhook] 2019/12/22 08:30:48 os signal watcher ready

现在, xxx-xx-xx-xxx是 webhook 服务器绑定的私有 IP。 我已将弹性/公共 IP 与 EC2 实例相关联,但是每当我向http://XX-XXX-XXX-XX:9000/hooks/autodeploy发送GET请求时,我都没有收到回复(其中XX-XXX-XXX-XX表示实例的弹性IP); 此外,当我尝试使用 Github Webhooks 自动向此端点发送POST请求时,出现“无法传送到端点”错误。

关于这可能是什么的任何想法?

好吧,我完全是个白痴,没有创建允许在端口 9000 访问我的实例的安全规则。完全是假动作。

(要设置此规则,请转至网络和安全 > 安全组并添加一个新安全组,该安全组为 TCP 访问打开端口 9000,然后将此规则关联到您正在使用的 EC2 实例。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM