gitlab仓库权限批量分配

需求背景

满帮大前端现有几百上千个库,分配权限涉及到两岸三地,比较麻烦。 因此做了个新的group,大前端统一在这个组下维护工程。

本次预期操作的group

1、创建新group

新group已创建。

https://code.amh-group.com/MBFrontend

新group的subgroup

  1. https://code.amh-group.com/MBFrontend/Flutter
  2. https://code.amh-group.com/MBFrontend/H5
  3. https://code.amh-group.com/MBFrontend/RN
  4. https://code.amh-group.com/MBFrontend/Android
  5. https://code.amh-group.com/MBFrontend/iOS

2、待共享权限的group

老的iOS相关的工程所在的group:

  1. https://code.amh-group.com/cocoapods
  2. https://code.amh-group.com/iOS-Team
  3. https://code.amh-group.com/client-ios-chengdu
  4. https://code.amh-group.com/iOSNJ
  5. https://code.amh-group.com/iOSYmm

将上述group内的项目共享到 https://code.amh-group.com/MBFrontend/iOS 这个group下面,Members默认分配developer权限。

权限如何分配

1、新工程在新group里创建维护

2、老的group里的项目通过共享到group的方式分配权限

关于第二条,因为满帮gitlab目前仅支持project 共享到 group里,不支持 group 共享 到 group。 采用project->group分配权限,需要挨个去做,库有1000来个,比较费劲。 如果gitlab支持 group -> group 的话就简单了。

gitlab官网

https://docs.gitlab.com/ee/user/group/index.html

-w1481

-w1420

满帮现状

group分配权限,无法按共享到group的方式操作。只能挨个分配。

建议

1、升级gitlab,gitlab官方12.7版本已支持group -> group共享

2、采用API调用方式

根据gitlab官网文档自己写的工具:

工具地址