通过GitHub webhook将本地代码同步到Amazon服务器

时间:2013-11-19 15:09:56

标签: git github amazon webhooks

我正在关注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?

1 个答案:

答案 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你可能会尝试一些可能性。