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?
źródło
git://
protokołu zamiastssh://
(ssh+git://
).Odpowiedzi:
Uważam , że (stosunkowo nowa) funkcja „Organizacje” umożliwia dodawanie osób z dostępem tylko do odczytu do prywatnego repozytorium.
źródło
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.
źródło
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!
źródło
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.
źródło