6

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

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

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

任何想法都受到高度赞赏。谢谢

4

2 回答 2

7

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

笔记:

■ 管理员用户被添加为主

bundle exec rake gitlab:import:all_users_to_all_projects

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

于 2013-09-03T18:50:52.743 回答
0

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

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

  1. 将所有用户添加到具有有限权限的“浏览”组,并将该组添加到所有存储库,(这可以根据需要使用 python 脚本和python gitlab api进行更新), 或者
  2. 有理由确定您可以在指定的可能非标准端口上启动 gitlab,公开所有存储库,但设置您的网络策略,以便只有本地或指定范围的 IP 地址可以连接到该端口。这将使其仅在组织内公开,但至于如何做到这一点,我建议在超级用户上提出一个单独的问题,因为它更像是一个系统管理问题而不是编程问题。
于 2013-08-10T19:35:22.270 回答