Amazon web services webhook与amazonec2
我使用EC2实例来托管我的站点,目前我正在(尝试)使用库和Github Webhooks设置自动部署管道。我正在遵循webhook的回购协议指南以及(我知道这是用于数字海洋的东西,但我认为同样的东西通常适用) 我能够在我的EC2实例上设置正确的配置文件——我必须指定webhook库从实例的私有IP地址提供/使用内容,这(根据我的理解)是由分配给实例的弹性IP自动设置的。这是我当前的Amazon web services webhook与amazonec2,amazon-web-services,amazon-ec2,webhooks,Amazon Web Services,Amazon Ec2,Webhooks,我使用EC2实例来托管我的站点,目前我正在(尝试)使用库和Github Webhooks设置自动部署管道。我正在遵循webhook的回购协议指南以及(我知道这是用于数字海洋的东西,但我认为同样的东西通常适用) 我能够在我的EC2实例上设置正确的配置文件——我必须指定webhook库从实例的私有IP地址提供/使用内容,这(根据我的理解)是由分配给实例的弹性IP自动设置的。这是我当前的hooks.json文件: [{ "id": "autodeploy", "execute-comm
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命令所指示路径上的脚本。要真正启动服务器以接收这些GET
/POST
请求,我运行以下命令(并获得以下输出):
现在,xxx xx xxx
是webhook服务器绑定到的私有IP。我已经将弹性/公共IP与EC2实例相关联,但是每当我向http://XX-XXX-XXX-XX:9000/hooks/autodeploy
,我没有得到响应(其中XX-XXX-XXX-XX
表示实例的弹性IP);此外,当我尝试使用Github Webhooks自动向该端点发送POST
请求时,会出现“无法传递到端点”错误
有什么想法吗?好吧,我完全是个白痴,没有创建允许在端口9000访问我的实例的安全规则。整个虚拟移动
(要设置此规则,请转到网络和安全>安全组并添加一个新的安全组,该安全组打开端口9000以进行TCP访问,然后将此规则与您正在使用的EC2实例相关联。)希望避免将其对外开放,但这是有意义的。
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