2012-06-05 187 views
1

好吧,我正在尝试使用git自动部署我的node.js应用程序。使用Git自动部署

这是我有我的服务器上:

/home/git/myproj.git - bare repo 
/home/me/public_html - cloned repo of the aforementioned bare repo 

现在的问题是,我无法从myproj.git/hooks/post-receive拉,因为推动回购都将被作为git的用户,所以我有权限问题。我也尝试了一些部署脚本,但我一直面临着许多权限问题。我听说过capistrano,织物,gitolite等工具,但我认为它对我来说太复杂了,我想要更容易些的东西(非常容易设置,并在多个项目中继续复制)。

我希望我明确自己。我认为这个问题是相关的 - Auto deployment PHP script using Gitolite - 但我没有使用gitolite,他的回答对我没有意义(可能是因为他的英文不太好)。

+0

你可以从'ssh:// git-user @ my.machine.net/home/git/myproj.git'中取出吗? – choroba

+0

我回复了一次,但似乎我的评论已删除。我可以从'/ home/me/public_html'(从'/ home/git/myproj.git'中拉出'git pull'。 – user1437328

回答

1

我第一次开始使用git和post-recieve hooks自己,但并不真的喜欢它们。然后,我切换到一个非常简单的bash script。即使你不使用脚本,它总共只有200行,所以偷了一些片段是很好的。

+0

我不认为这个文档太棒了。你能解释一下吗?你使用它来部署到生产环境中,比如你在哪里放置脚本,以及如何执行它们? – user1437328

+0

好吧,我没有遇到文档和维基页面的问题,基本上它是一个通过ssh在你的服务器上执行命令的脚本。一个可以添加脚本的post/pre deploy钩子,它还支持配置文件中的不同环境,一旦设置完成,你只需要部署。 – Pickels