Skip to main content

创建代码库并配置访问控制权限

在服务器上克隆 gitolite-admin:

$ git clone dxsuite@127.0.0.1:gitolite-admin

得到以下目录结构:

📁 gitolite-admin
📁 conf
📃 gitolite.conf 用户群组定义、代码库定义、代码库权限设置,初始时 dxsuite 拥有对 gitolite-admin 的全部操作权限
📁 keydir 用户公钥保存路径
📃 dxsuite.pub 初始时仅有 dxsuite 一名用户

将用户在各自开发环境生成的公钥文件置于 keydir 路径下,然后编辑 gitolite.conf 文件:

@administrator = dxsuite jinhy                # 增加管理员 jinhy
@dxsuite-auth = @administrator wenyy # 定义用户组 dxsuite-auth
@dxsuite-user = @administrator anwy # 定义用户组 dxsuite-user
@dxsuite = @dxsuite-auth @dxsuite-user # 定义用户组 codelet,包含所有 dxsuite 团队成员
@org1 = @administrator someone1 # 定义用户组 org1,包含所有外包团队成员

repo gitolite-admin
RW+ = @administrator # 管理员可以读写 gitolite-admin,以配置代码库访问控制权限

repo cloud/auth # 定义代码库 cloud/auth
RW+ = @dxsuite-auth # dxsuite-auth 的成员可以读写 cloud/auth
R = @dxsuite # dxsuite 成员可以读取 cloud/auth

repo cloud/user # 定义代码库 cloud/user
RW+ = @dxsuite-user # dxsuite-user 的成员可以读写 cloud/user
R = @dxsuite # dxsuite 成员可以读取 cloud/user

repo org1/biz1 # 定义代码库 org1/biz1
RW+ = @org1 # org1 的成员可以读写 org1/biz1
R = @dxsuite # dxsuite 成员可以读取 org1/biz1

用户名为生成 SSH 公钥时通过 -C 参数指定的名称。

@ 用于定义用户群组,@all 代表所有用户。

将所有变更推送到 Git 库,通过以上配置:

  • 若所定义的代码库不存在则创建代码库
  • 管理员对所有代码库有读写权限
  • dxsuite 所有成员对所有代码库有读取权限
  • dxsuite 各模块负责小组对各自模块的代码库有读写权限
  • 外部团队仅对各自模块的代码库有读写权限