2012-06-05 105 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