2015-04-23 18 views
5

Desidero negare di apportare modifiche a qualsiasi repository da parte di qualsiasi utente. Tecnicamente, ho bisogno di passare l'intero gitlab in modalità di sola lettura. C'è un modo semplice per farlo?Metti l'intera installazione di gitlab in modalità di sola lettura

+0

Si desidera questa modalità di sola lettura solo per push o per tutte le altre azioni in gitlab? L'impostazione del livello di accesso dell'utente a "Guest" o "Reporter" può aiutarti (vedi [Autorizzazioni di Gitlab] (https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/permissions/permissions.md)). Ma la soluzione di VonC è più facile/più veloce penso che gli – PierreF

+0

ospiti possano ancora creare problemi e lasciare commenti. I giornalisti possono fare un po 'di più. @jeanMarcAssin –

risposta

4

Se non si desidera compromettere i privilegi utente (as done in this PR), un approccio potrebbe essere quello di cambiare il gitlab-shell pre-receive hook.

Se il gancio di pre-ricezione è sempre "exit 1", è necessario disabilitare qualsiasi push su qualsiasi repository.

+1

Ho trovato un altro metodo brutto ma funzionante: '# chmod -R -w gitlab-repository-directory' È un po 'vergognoso, ma è un lavoro. –

+0

@SemyonNovikov davvero. Immagino che la soluzione più pulita sarebbe, come già detto da jeanMarcAssin, modificare in blocco il livello di accesso dell'utente (con una routine simile a quella che ho menzionato in https://github.com/gitlabhq/gitlabhq/pull/7450/files) – VonC

+0

Questo impedisce solo di apportare modifiche al codice ... è comunque possibile creare elementi non di codice (MR, discussioni, pagine wiki, problemi, ecc.) –

0

Sarei propenso ad archiviare ogni progetto, il che impedirebbe qualsiasi cambiamento (incluso il wiki, problemi, ecc.).

enter image description here

Anche se, che non impedisce nuovi progetti.

Problemi correlati