多用户git开发环境

时间:2013-07-12 18:05:57

标签: git centos hosting vps multi-user

直到2012年底,我才成为那些在编辑之前将实时服务器上的文件复制并重命名为filename_dev.php的可怕web开发人员之一。测试某个功能后,我将其重命名。

从2013年开始,我成为GIT的粉丝,从那时起,我禁止自己在没有GIT的情况下开始新项目。

我的目标是运行具有以下功能的私有git服务器:

  • 多用户访问
  • Master branch是一个实时运行的网站。
  • Dev分支也在线,但仅供开发人员检查是否 代码运行正常。
  • 只有我可以访问主分支才能带来其他分支机构的新功能。
  • 开发人员无法看到像MySQL这样的密码设置。

在我的CentOS VPS服务器上,我创建了一个新用户“git”并给它一个密码。 为避免将该密码共享给多个用户,我设置了一个公钥结构。 所以新开发者向我发送他的公钥,然后将其添加到/home/git/.ssh/authorized_keys

好吧,假设我想开始一个有4个开发人员的新项目。 我创建了一个新的repo /home/git/project_1.git,并将所有公钥添加到授权文件中。

如何避免他们访问“/home/git/project_2.git”之类的其他回购?

由于git只是我的vps上的用户,它不是托管的apache目录,因此我的开发人员如何在浏览器中检查代码?与http://dev.mydomain.com

一样

http://dev.mydomain.com上的代码运行正常时,我想将其直播到http://mydomain.com。但只有我能做到,而不是开发人员

希望本周我能走上正轨,但我的GIT电子书并不是那么详细,无法知道如何做到这一点

1 个答案:

答案 0 :(得分:1)

首先,您应该查看gitolite:它允许管理用户和访问存储库。

使用gitolite,您可以限制用户有权访问的存储库和分支。对于dev分支,您可能需要设置git post-receive钩子脚本:因此您的git repo将SSH连接到dev服务器并从存储库中提取代码。