我有我的服務器上更新後掛機,這樣,當我什麼用戶運行git鉤子?
git push
它在實時web目錄上拉。但是,儘管推送總是成功,但更新後的掛鉤有時會失敗。
鉤很簡單:
#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
cd /var/www
env -i git pull
我推更新來自不同的地方,但有時我需要登錄的服務器上的根和手冊冊做
env -i git pull
但我只需要20%的時間。任何想法爲什麼它會隨機失敗?另外,我如何獲取它來記錄錯誤消息,因爲它可能作爲無法寫入文件系統的人運行?
你是否從所有這些地方以相同的方式推動?也就是說,所有的遠程URL都是一樣的嗎? (尤其是用戶@主機名部分) – Cascabel 2010-04-13 04:34:59
另外,當你說失敗時,你是否確實意味着它失敗了,並且有一個權限被拒絕的錯誤,表明它以特權不足的用戶身份運行?還是因爲一些完全不相關的原因而失敗,與uid運行無關? – Cascabel 2010-04-13 04:38:06
我實際上是從不同的地方推送的:有時它是user1 @ hostname,othertimes,user2 @ hostname等(它們都有這個問題)。 失敗時沒有可以看到的錯誤消息,而且我不確定如何獲取。在我的更新後,我添加了> echo $ USER> /log.txt,但沒有寫入任何內容(也沒有創建文件)。這讓我想到用戶推送,沒有權限。但是,如果我甚至不能寫出錯誤信息,我將如何知道? – ash 2010-04-13 17:35:17