2014-01-30 42 views
2

如果有人知道這個問題,我需要一點幫助。如何讓gerrit slave只讀?

我正在努力爲主人制造gerrit奴隸。我能夠將存儲庫複製到從服務器上。但我沒有懷疑。

  1. 如何配置副本服務器以供授權用戶訪問?

  2. 複製服務器訪問控制的限制是什麼(例如,它是隻讀的?) 如果它不是隻讀,那麼如何使它只讀。

這是我的replication.config文件。

[remote "pubmirror"] 

url = ssh://<Slave_User>@<Slave_User_ip>/path/to/repo/${name}.git 

replicationDelay = 1 

我希望有人能讓我理解的例子。

回答

1

設置在等的container.slave選項/ gerrit.config爲true(見documentation)將使從模式(通過傳遞--slaveGerrit daemon),這使得服務器只讀和禁用HTTP服務器

除了從那個規則配置例如訪問控制和身份驗證適用。

+0

有什麼辦法可以授權選定的用戶直接進入從機? @Magnus –

+0

不可以,除非他們繞過Gerrit,並通過文件系統直接插入gits。但你爲什麼要這麼做?使主機和從機不同步不是一個好主意,因爲通常會將主機設置爲強制將更改推送到從機,所以在從主機進行下一輪複製時,從機上所做的任何更改都將被刪除。 –

1

--slave遺憾的是不提供用於查看評論的Web UI。解決此問題的一種方法是在正常模式下運行gerrit,但是

a)更改gerrit.config以將receive.allowGroup限制爲例如只有管​​理員沒有(管理員除外)可以推送到gerrit git存儲庫

b)將gerrit httpd放在apache代理後面,並使用mod_rewrite限制爲只讀請求集。我基本上只允許GET,HEAD和POST /登錄,/ gerrit_ui/RPC/ChangeDetailService和/ gerrit_ui/RPC/PatchDetailService

它的工作原理很適合我們用單格里特主多隻讀副本在不同的數據中心

+0

同意'--slave'開關在所有情況下都不起作用。如果您處於只能在只讀鏡像上允許http協議的情況,'--slave'將不適用於您。 感謝receive.allowGroup提示! –