我刚刚安装了 Gitolite 和 Gitlab,我对它非常满意。到目前为止,一切都运行良好。
我可以创建存储库、向其推送信息、在网络上的其他客户端上克隆它们。太棒了!
但现在我想做一些post-receive
钩子。
即当我推送到某个 repo 时,应该在目录中的服务器上检出该 repo /var/www/repos
。
我这样做了Gitlabs Deploy Hooks 和此端点脚本。
问题在于,脚本是在www-data
无权访问 的用户“ ”下运行的gitlab/gitolite
。
我该如何改变这一点?
我需要能够使用www-data
用户和git@server/repo.git
语法签出存储库。
答案1
您不需要使用 ssh。如果您添加www-数据用户吉托莱特您的网络服务器应该能够从文件系统读取存储库。
答案2
您可以使用 sudo 以适当的权限执行脚本(如果您可以修改文件sudoers
)。