2017-08-09 71 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

给予用户没有必要的权利。它现在正在工作。谢谢,博士。 –