如何让gerrit slave只读?

时间:2014-01-30 17:57:20

标签: git gerrit

如果有人知道这个问题,我几乎无需帮助。

我正在努力为主人制造gerrit奴隶。我能够将存储库复制到从属服务器上。但我几乎没有怀疑。

  1. 如何配置副本服务器以供授权用户访问?

  2. 副本服务器访问控制的限制是什么(例如,它是只读的吗?) 如果它不是只读,那么如何使它只读。

  3. 这是我的replication.config文件。

    [remote "pubmirror"]
    
    url = ssh://< Slave_User >@< Slave_User_ip >/path/to/repo/${name}.git
    
    replicationDelay = 1
    

    我希望有人可以通过例子让我理解。

2 个答案:

答案 0 :(得分:1)

将etc / gerrit.config中的container.slave选项设置为true(请参阅documentation)将启用从属模式(通过将--slave传递给Gerrit daemon),这使得服务器只读并禁用HTTP服务器

除了用于配置的常规规则,例如访问控制和身份验证适用。

答案 1 :(得分:1)

不幸的是,-slave并没有提供用于查看评论的Web UI。解决它的一种方法是在正常模式下运行gerrit但

a)更改gerrit.config以将receive.allowGroup限制为例如只有管​​理员,然后没有(管理员除外)可以推送到gerrit git存储库

b)将gerrit httpd放在apache代理后面,并使用mod_rewrite限制只读请求集。我基本上只允许/ login登录GET,HEAD和POST,/ gerrit_ui / rpc / ChangeDetailService和/ gerrit_ui / rpc / PatchDetailService

对于我们来说,在不同的数据中心使用单个gerrit master和multi readonly replica非常有效