Github: dostęp tylko do odczytu do prywatnego repozytorium

139

Rozwijam kilka prywatnych projektów na Github i chciałbym dodać nocne cronjoby do moich serwerów wdrożeniowych, aby pobrać najnowszą wersję z Github. Obecnie robię to, generując pary kluczy na każdym serwerze wdrażania i dodając klucz publiczny do projektu github jako „Klucz wdrożeniowy”.

Jednak niedawno dowiedziałem się, że te klucze wdrażania faktycznie mają dostęp do zapisu w projekcie. Dlatego każdy z administratorów serwera mógłby potencjalnie rozpocząć edycję. Ponadto mogę dodać każdy klucz wdrażania tylko do jednego repozytorium, podczas gdy chciałbym mieć możliwość wdrożenia wielu repozytoriów na jednym i tym samym serwerze wdrażania.

Czy istnieje sposób na zapewnienie dostępu tylko do odczytu do prywatnych repozytoriów wybranym użytkownikom na Github?

Jeroen
źródło
Chcesz mieć ograniczony dostęp tylko do odczytu , prawda? Jeśli chcesz mieć nieograniczony dostęp tylko do odczytu, możesz użyć git://protokołu zamiast ssh://( ssh+git://).
Jakub Narębski

Odpowiedzi:

69

Uważam , że (stosunkowo nowa) funkcja „Organizacje” umożliwia dodawanie osób z dostępem tylko do odczytu do prywatnego repozytorium.

pmdj
źródło
27
W rzeczywistości jest to obejście, ponieważ musisz utworzyć konto osobiste. Mogli to lepiej zaprojektować, umożliwiając tworzenie tokenów API na organizację z uprawnieniami, eliminując w ten sposób obejście polegające na przejęciu konta członka zespołu lub utworzeniu fałszywego konta osobistego.
nikolay
29
Szkoda, że ​​za tę funkcję musisz zapłacić 25 USD miesięcznie. W przypadku małej witryny za 300 USD rocznie można zapłacić za dużo hostingu w innym miejscu. Dzięki @Trindaz
Joseph Lust
7
Dlatego BitBucket nie jest drugim skrzypkiem po Githubie.
treecoder
2
Ta odpowiedź jest nieaktualna. Zobacz odpowiedź na klucze wdrażania tylko do odczytu.
Hauke,
37

Każdy, kto znajdzie to pytanie, wie, że obecnie można tworzyć klucze wdrażania tylko do odczytu:

https://github.com/blog/2024-read-only-deploy-keys

Nadal możesz tworzyć klucze wdrażania z dostępem do zapisu, ale musisz jawnie przyznać to uprawnienie podczas dodawania klucza.

Adam Reis
źródło
1

Dla organizacji: Proponuję stworzyć nowy zespół specjalnie dla użytkownika. Ten zespół może następnie przyznać dostęp tylko do odczytu do określonych repozytoriów. Mam nadzieję, że to pomoże!

łańcuch
źródło
-1

Wiem, że pytania dotyczą github, ale może dla niektórych czytelników miło byłoby wiedzieć, że jest to możliwe w gitlab i za darmo. Sprawdź https://gitlab.com/help/user/permissions . Spędzam trochę czasu na githubie, nie służąc w pełni swoim celom. Gdybym wiedział, rozpocząłbym ten konkretny projekt z gitlab.

guizo
źródło