Я разрабатываю несколько частных проектов на Github, и я хотел бы добавить ночные cronjobs на свои серверы развертывания, чтобы получить последнюю версию с github. В настоящее время я делаю это, генерируя пары ключей на каждом сервере развертывания и добавляя открытый ключ в проект github как «ключ развертывания».
Однако недавно я обнаружил, что эти ключи развертывания действительно имеют доступ для записи в проект. Следовательно, каждый администратор сервера потенциально может начать редактирование. Кроме того, я могу добавить каждый ключ развертывания только в один репозиторий, тогда как я хотел бы иметь возможность развертывать несколько репозиториев на одном и том же сервере развертывания.
Есть ли способ предоставить доступ только для чтения к частным репозиториям выбранным пользователям на Github?
git://
протокол вместоssh://
(ssh+git://
).Ответы:
У меня есть достоверные сведения, что (относительно новая) функция «Организации» позволяет добавлять людей с доступом только для чтения к частному репозиторию.
источник
Для всех, кто задает этот вопрос, знайте, что в настоящее время вы можете фактически создавать ключи развертывания только для чтения:
https://github.com/blog/2024-read-only-deploy-keys
Вы по-прежнему можете создавать ключи развертывания с доступом для записи, но вам необходимо явно предоставить это разрешение при добавлении ключа.
источник
Для организаций: я предлагаю создать новую команду специально для пользователя. Затем эта группа может предоставить доступ только для чтения к указанным вами репозиториям. Надеюсь, это поможет!
источник
Я знаю, что вопросы касаются github, но, возможно, некоторым читателям было бы неплохо узнать, что это возможно в gitlab и бесплатно. Проверьте https://gitlab.com/help/user/permissions . Некоторое время я использую github, но не в полной мере. Если бы я знал, то начал бы этот конкретный проект с gitlab.
источник