我刚刚安装了Gitolite和Gitlab,我对此非常满意。 一切工作到目前为止。
我可以创build回购协议,推送给他们,克隆他们在networking上的其他客户端。 大!
但是现在我想要做一些post-receive钩子。
即当我推到一些回购,这个回购应检出在/var/www/repos目录中的服务器上。
我用Gitlabs Deploy Hooks和这个Endpoint-Script做了这个。
问题在于脚本是在没有访问gitlab/gitolite的用户“ www-data ”下运行的。
我如何改变这个?
我需要能够使用www-data用户检出repos,并使用git@server/repo.git语法。
你不需要使用ssh。 如果将www-data用户添加到gitolite组,您的web服务器应该能够从文件系统读取存储库。
您可以使用sudo来执行具有适当权限的脚本(如果您可以修改sudoers文件)。
查看插图“ 通过Gitolite和post-receive hook部署节点应用程序 ”。