2017-08-09 66 views
0

我試圖每分鐘創建一次CronJob至git pull以保持我的QA環境爲最新狀態。BitBuket使用Cron Job自動提取

git pull需要系統用戶完成。在.git存儲庫中,我使用用戶名和密碼配置了遠程原點。

https://{username}:{password}@bitbucket.org/{projectname}/project.git 

在Cornjob中,我沒有寫下面的代碼,每分鐘運行一次。

*/1 * * * * su -s /bin/sh nobody -c 'cd /var/www/project && /usr/bin/git pull -q origin branchname' 

執行後,它顯示下面的錯誤。

error: insufficient permission for adding an object to repository database .git/objects 
fatal: failed to write object 
fatal: unpack-objects failed 

有人可以幫我嗎?

回答

1

用戶nobody無權訪問/var/www/project。在擁有的用戶下運行該命令。或者給用戶nobody必要的權利。或者更好的是,在bitbucket上配置一個Web鉤子來通知你有關更改;這樣你根本不需要輪詢bitbucket。

+0

我已經upvoted,因爲這是正確的答案,但我希望我可以再次upvote,因爲第二部分是正確的問題。 –

+0

給予用戶沒有必要的權利。它現在正在工作。謝謝,博士。 –