2012-02-06 55 views
1

我發現有幾篇文章談論如何使用git部署web項目。
大多數不是太近,但似乎有一個link通常讚賞。與git - 訪問權限和組的Web項目

這個小教程建議使用GIT_WORK_TREE功能來允許分離Web服務器目錄上的遠程工作樹。

目標是能夠從本地存儲庫git push web直接在生產中進行修改。

我想知道的是如何管理我的用戶/組在遠程服務器,以允許部署。

主要是兩個問題:

  • this tutorial還有用嗎?
  • 如果是,哪個用戶/羣組應擁有/var/www/my_project目錄?

回答

1

是的,本教程應該可以工作,但請記住/ var/www/my_project將由(遠程)用戶寫入,他們將推送提交,因爲鉤子使用相同的uid/gid運行。

否則,如果您需要更多人推送到該網站,則需要他們使用其他用戶或使用gitolite或類似工具。

+0

謝謝。你認爲把'/ var/www/my_project'變成一個特殊的組給我需要發佈的用戶是可以的嗎? – 2012-02-06 11:37:41

+0

問題不在於組,而在於umask,如果創建了644文件,無論您爲用戶選擇哪個組,都無法修改這些文件。 更適合所有相同的用戶使用,例如創建'git'用戶,也許使用/ etc/passwd shell作爲git-shell,然後詢問其他用戶的ssh公鑰,並將它存儲在'git'用戶的$ HOME/.ssh/authorized_keys中。 你不會失去承諾的作者身份,因爲它沒有綁定到'推送'用戶。 – mammadori 2012-02-06 15:13:35