api*_*nti 3 amazon-ec2 webhooks amazon-web-services
我使用 EC2 实例来托管我的网站,并且当前(尝试)使用webhook库和 Github Webhooks设置自动部署管道。我正在遵循 webhook 存储库以及这篇博文的指南(我理解它是用于数字海洋的东西,但我认为同样的东西通常适用)。
\n\n我能够在我的 EC2 实例 \xe2\x80\x93 上设置正确的配置文件,我必须指定 Webhook 库提供/使用来自实例私有IP地址的内容,这是(根据我的理解)通过分配给实例的弹性 IP 自动进行 NAT。这是我当前的hooks.json文件:
[{\n "id": "autodeploy",\n "execute-command": "/home/ubuntu/webhooks/autodeploy/deploy.sh",\n "command-working-directory": "/home/ubuntu/site",\n "response-message": "Executing deploy script..."\n}]\nRun Code Online (Sandbox Code Playgroud)\n\n根据文档,这告诉 webhook,当某个端点被GET/请求命中时,将执行POST由 表示的路径中的脚本。execute-command要实际启动服务器来接收这些GET/POST请求,我运行以下命令(并获得以下输出):
ubuntu@ip-xxx-xx-xx-xxx:~/webhooks$ webhook -hooks hooks.json -ip "xxx-xx-xx-xxx" -verbose\n[webhook] 2019/12/22 08:30:48 version 2.5.0 starting\n[webhook] 2019/12/22 08:30:48 setting up os signal watcher\n[webhook] 2019/12/22 08:30:48 attempting to load hooks from hooks.json\n[webhook] 2019/12/22 08:30:48 found 1 hook(s) in file\n[webhook] 2019/12/22 08:30:48 loaded: autodeploy\n[webhook] 2019/12/22 08:30:48 serving hooks on http://xxx-xx-xx-xxx:9000/hooks/{id}\n[webhook] 2019/12/22 08:30:48 os signal watcher ready\nRun Code Online (Sandbox Code Playgroud)\n\n现在,xxx-xx-xx-xxx是 webhook 服务器绑定的私有 IP。我已将弹性/公共 IP 与 EC2 实例关联,但每当我GET向 发送请求时http://XX-XXX-XXX-XX:9000/hooks/autodeploy,我都没有收到任何响应(其中XX-XXX-XXX-XX表示实例的弹性 IP);此外,当我尝试使用 Github WebhooksPOST自动向此端点发送请求时,出现“无法传递到端点”错误。
关于这可能是什么有什么想法吗?
\n好吧,我完全是个白痴,没有创建允许在端口 9000 访问我的实例的安全规则。完全是假动作。
(要设置此规则,请转至网络和安全 > 安全组并添加一个新的安全组,该安全组打开端口 9000 以进行 TCP 访问,然后将此规则关联到您正在使用的 EC2 实例。)
| 归档时间: |
|
| 查看次数: |
2828 次 |
| 最近记录: |