如何让所有GitLab用户无需公开回购,即可访问所有存储库?

时间:2013-08-10 17:53:02

标签: git version-control gitlab

我们是一个小团队(大约20人),我希望每个人都可以访问所有存储库,但不会将其公开。

有没有办法让所有用户都可以访问所有存储库而不将其公开?或者他们至少可以看到/浏览所有的回购?

到目前为止,我的方法是创建一个名为“Everyone”的团队,并将其手动添加到所有存储库中。但我希望这可以自动发生,而且不会让每个人都像团队那样出现。

任何想法都高度赞赏。 感谢

2 个答案:

答案 0 :(得分:7)

将所有用户添加到所有项目

注意:

■管理员用户被添加为主人

bundle exec rake gitlab:import:all_users_to_all_projects

https://github.com/gitlabhq/gitlabhq/blob/master/doc/raketasks/user_management.md

答案 1 :(得分:0)

查看redbook并找到标题为“强制执行基于用户的ACL系统”的部分 - 它描述了如何根据每个存储库仅2个文本文件设置存储库权限 - 这些可以复制存储库之间或Unix / Linux服务器之间可能只有2个文件,每个存储库中都有软链接 - 它们只有1个用户文件要编辑的文件,甚至不需要复制它。您可能必须为每个存储库强制执行类似的存储库结构,但这通常是很好的做法。

仅gitlab解决方案的替代方案如下:

  1. 将所有用户添加到具有有限权限的“浏览”组 并将该组添加到所有存储库中(可以更新) 必要时使用python脚本和python gitlab api), 的
  2. 可以肯定你可以启动gitlab运行 指定的,可能是非标准端口,创建所有存储库 公开,但设置您的网络政策,以便只有本地,或 指定范围的IP地址可以连接到该端口。这个 只会在组织内公开,但如何公开 我会就Super User提出一个单独的问题 它更像是系统管理员问题,而不是编程问题。