Github: доступ только для чтения к частному репо

139

Я разрабатываю несколько частных проектов на Github, и я хотел бы добавить ночные cronjobs на свои серверы развертывания, чтобы получить последнюю версию с github. В настоящее время я делаю это, генерируя пары ключей на каждом сервере развертывания и добавляя открытый ключ в проект github как «ключ развертывания».

Однако недавно я обнаружил, что эти ключи развертывания действительно имеют доступ для записи в проект. Следовательно, каждый администратор сервера потенциально может начать редактирование. Кроме того, я могу добавить каждый ключ развертывания только в один репозиторий, тогда как я хотел бы иметь возможность развертывать несколько репозиториев на одном и том же сервере развертывания.

Есть ли способ предоставить доступ только для чтения к частным репозиториям выбранным пользователям на Github?

Йерун
источник
Вы же хотите иметь ограниченный доступ только для чтения, не так ли? Если вам нужен неограниченный доступ только для чтения, вы можете использовать git://протокол вместо ssh://( ssh+git://).
Якуб Наребски

Ответы:

69

У меня есть достоверные сведения, что (относительно новая) функция «Организации» позволяет добавлять людей с доступом только для чтения к частному репозиторию.

pmdj
источник
27
На самом деле это обходной путь, поскольку вам нужно создать личную учетную запись. Они могли бы спроектировать это лучше, разрешив создание токенов API для каждой организации с правами, таким образом исключив обходной путь для компрометации учетной записи члена команды или создания поддельной личной учетной записи.
николай
29
Жаль, что вам нужно платить 25 долларов в месяц за эту функцию. Для небольшого сайта эти 300 долларов в год могут позволить заплатить за большой объем хостинга в другом месте. Спасибо @Trindaz
Joseph Lust
7
Вот почему BitBucket - не вторая скрипка Github.
treecoder
2
Этот ответ устарел. См. Ответ о ключах развертывания только для чтения.
Hauke
38

Для всех, кто задает этот вопрос, знайте, что в настоящее время вы можете фактически создавать ключи развертывания только для чтения:

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

Вы по-прежнему можете создавать ключи развертывания с доступом для записи, но вам необходимо явно предоставить это разрешение при добавлении ключа.

Адам Рейс
источник
1

Для организаций: я предлагаю создать новую команду специально для пользователя. Затем эта группа может предоставить доступ только для чтения к указанным вами репозиториям. Надеюсь, это поможет!

цепная работа
источник
0

Я знаю, что вопросы касаются github, но, возможно, некоторым читателям было бы неплохо узнать, что это возможно в gitlab и бесплатно. Проверьте https://gitlab.com/help/user/permissions . Некоторое время я использую github, но не в полной мере. Если бы я знал, то начал бы этот конкретный проект с gitlab.

Guizo
источник