2015-04-23 11 views
5

Chcę odmówić przekazania zmian do dowolnego repozytorium przez dowolnego użytkownika. Technicznie, muszę przełączyć całą gitlab na tryb tylko do odczytu. Czy istnieje prosty sposób na zrobienie tego?Połóż całą instalację gitlab na tryb tylko do odczytu.

+0

Chcesz, aby ten tryb tylko do odczytu był używany tylko do wypychania lub do wszystkich innych akcji w gitlab? Ustawienie poziomu dostępu użytkownika na "Gość" lub "Reporter" może ci pomóc (patrz [Uprawnienia Gitlab] (https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/permissions/permissions.md)). Ale rozwiązanie VonC jest łatwiejsze/szybsze, myślę, że – PierreF

+0

Goście nadal mogą tworzyć problemy i zostawiać komentarze. Reporterzy mogą zrobić nieco więcej. @jeanMarcAssin –

Odpowiedz

4

Jeśli nie chcesz mieszać się z uprawnieniami użytkownika (as done in this PR), jedną z metod będzie zmiana gitlab-shell pre-receive hook.

Jeśli hak pre-receive zawsze ma wartość "exit 1", powinien wyłączyć dowolne ponowne naciśnięcie.

+1

Znalazłem kolejną brzydką, ale działającą metodę: '# chmod -R -w gitlab-repositories-katalog' To trochę haniebne, ale to działa. –

+0

@SemyonNovikov rzeczywiście. Domyślam się, że najczystszym rozwiązaniem byłoby, jak wspomniano przez jeanMarcAssin, masowa zmiana poziomu dostępu użytkownika (z podobną procedurą jak ta, o której wspomniałem w https://github.com/gitlabhq/gitlabhq/pull/7450/files) – VonC

+0

Zapobiega to wprowadzaniu zmian kodu ... nadal można tworzyć elementy bez kodu (MR, dyskusje, strony wiki, problemy itp.). –

0

Byłbym skłonny do archiwizowania każdego projektu, który zapobiegałby wszelkim zmianom (w tym na wiki, problemom itp.).

enter image description here

Mimo, że nie wyklucza nowych projektów.