如何防止在 GitLab 中创建组

How to prevent group creation in GitLab

我在我的公司安装了 GitLab 7.12。但是用户开始创建组(以及组和组......)并且很快就会变得一团糟。 有谁知道如何将群组创建限制为平台管理员?

我们的想法是让人们在他们的个人 space 中创建项目,并为官方项目保留组。

  1. 进入管理控制面板
  2. Select 'Users'
  3. Select 相关用户并单击 'Edit'
  4. 向下滚动到 'Access' 并取消勾选 'Can Create Group'

如果您想为新用户禁用组创建,目前您必须编辑 gitlab.yml,特别是设置 default_can_create_group,并将其设置为 false

参见gitlab.yml#L63@712d1768

对于综合安装,正确的位置是:

   /etc/gitlab/gitlab.rb
      gitlab_rails['gitlab_default_can_create_group'] = false

然后您需要执行 sudo gitlab-ctl reconfiguresudo gitlab-ctl restart 来应用更改。

对于老用户,使用类似的东西(在 rails 控制台):

irb(main):012:0> @users.each do |u|
irb(main):013:1*  u.can_create_group= false
irb(main):014:1> u.save
irb(main):015:1> end

对于老用户,GitLab Users API: User modification(一个REST API)也可以用于此目的(将can_create_group的值设置为false)并且可以可轻松用于 for 循环中的批量更改:

curl --request PUT https://gitlab.example.com/api/v4/users/:id?can_create_group=false

注意:请在 GitLab API Authentication 查看可用的身份验证方法。

老用户也可以在gitlab-rails控制台使用如下命令:

irb(main):001:0> User.update_all can_create_group:false