使用 gitolite 管理 git 服务器
由于Git的设计初衷,在使用 Git 在面向团队服务时,如果需要对权限控制,就需要第三方的工具来帮助 Git。在 Git 管理工具中,有三个解决方案。
- Gitosis 轻量级、开源项目,使用 SSH 公钥认证,只能做到库级别的权限控制。现在项目已经停止开发,不在维护;
- Gitolite 轻量级、开源项目,使用 SSH 公钥认证,可以做到对分支级的权限控制;
- [Git + Repo + Gerrit] 重量级,集版本控制、库管理和代码审核。可以用来管理大型项目
由于 gitosis 不在提供更新,新建项目使用 gitolite 配置 git 的访问控制。
安装 Gitolite
Gitolite 的安装步骤如下如:
系统环境
系统采用最新的 Ubuntu-16-04 LTS
角色 | ip |
---|---|
gitolite_gitServer | 172.16.11.210 |
git_client | 172.16.11.211 |
git_client | 172.16.8.247 |
创建管理用户
|
|
软件安装
|
|
配置授权
配置管理库
|
|
在 gitolite 仓库中有两个目录 conf
和 keydir
,前者是配置权限的配置文件,后者是用来存放 Client 的 key/
配置新用户
添加新用户很简单。添加一个名为 client1 的用户,获取她的公钥,命名为 client1.pub,然后放到在 gitolite-admin
克隆的 keydir 目录。添加,提交,然后推送更改。这样用户就被添加了
定制配置
官方示例
|
|
用户管理可以给用户或者仓库分组 @
代表组,成员之间空格分隔
|
|
权限分类
拒绝访问
限制文件
提交变更
|
|
新增项目
|
|