我正在学习关于deploying a Node.js app onto the Amazon service with GitHub's webhook的教程。
在Amazon服务器上,我创建了一个名为hook的存储库,并将其初始化为GitHub存储库
$ mkdir hook
$ cd hook
$ git init --bare
然后我创造了一个挂钩
$ cat > hooks/post-receive
GIT_WORK_TREE=/home/ubuntu/myapp git checkout -f
echo "Installing dependencies..."
cd /home/ubuntu/myapp
npm install
echo "Restarting node.js..."
$ chmod +x hooks/post-receive
我认为这是在服务器端完成的,所以我回到GitHub存储库并添加了一个WebHook URL,但我不知道如何填写这个URL,所以我输入
ssh://ubuntu@54.201.12.68/home/ubuntu/hook
我认为这是不对的。
我在Windows平台上提交并推送我的本地存储库,所以不出所料,Amazon服务器端没有收到任何东西。
我认为这可能是由于在GitHub存储库设置中输入了错误的webhook URL,你认为呢?
我是否必须设置一个带有URL的服务器才能接收更新并执行bash?
1条答案
按热度按时间gmxoilav1#
当提交被推送到AWS服务器时,服务器的post-receive git钩子将被执行:
GitHub的web hooks通过向您在GitHub推送新提交时提供的URL发送HTTP POST请求来工作。如果您希望您的站点在您将代码 * 推送到GitHub* 时自动更新,您还需要一个组件:一个运行在你机器上的HTTP服务器,它将接受webhook的有效负载,从GitHub * 拉 * 新代码,然后重新部署。another question有很多可能性你可以尝试。