我正在关注deploying a Node.js app onto the Amazon service with GitHub's webhook的教程。
在亚马逊服务器上,我创建了一个名为hook的存储库,并将其初始化为GitHub存储库
$ mkdir hook
$ cd hook
$ git init --bare
然后我创建了一个githook
$ 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平台上提交并推送我的本地存储库,因此预期在亚马逊服务器端没有收到任何内容。
我认为这可能是由于GitHub存储库设置中的webhook URL输入错误,你怎么看?
我是否必须设置带有URL的服务器才能接收更新并执行bash?
答案 0 :(得分:0)
将提交推送到该服务器时,将执行您的AWS服务器的post-receive git挂钩:
# On your development machine
git remote add aws ssh://ubuntu@54.201.12.68/home/ubuntu/
git push aws master
GitHub的Web挂钩通过向您向GitHub推送新提交时向您提供的URL发送HTTP POST请求来工作。如果您希望在将代码推送到GitHub 时自动更新您的网站,则还需要一件:在您的计算机上运行的HTTP服务器将接受webhook payload,拉来自GitHub的新代码,然后重新部署。有another question你可能会尝试一些可能性。