Github: acesso somente leitura a um repositório privado

139

Estou desenvolvendo alguns projetos particulares no Github e gostaria de adicionar cronjobs noturnos aos meus servidores de implantação para obter a versão mais recente do github. Atualmente, estou fazendo isso gerando pares de chaves em todos os servidores de implantação e adicionando a chave pública ao projeto github como 'Chave de implantação'.

No entanto, descobri recentemente que essas chaves de implantação realmente têm acesso de gravação ao projeto. Portanto, todos os administradores de servidor podem começar a editar. Além disso, posso adicionar todas as chaves de implantação a apenas um repositório, enquanto eu gostaria de poder implantar vários repositórios em um e no mesmo servidor de implantação.

Existe uma maneira de fornecer acesso somente leitura para repositórios privados a usuários selecionados no Github?

Jeroen
fonte
Você quer ter acesso restrito somente leitura , não é? Se você deseja acesso irrestrito somente leitura, pode usar o git://protocolo em vez de ssh://( ssh+git://).
Jakub Narębski

Respostas:

69

Eu tê-lo em boa autoridade que o (relativamente nova) "Organizações" recurso permite que você adicione pessoas com acesso somente leitura a um repositório privado.

pmdj
fonte
27
Essa é realmente uma solução alternativa, pois você precisa criar uma conta pessoal. Eles poderiam ter projetado isso melhor, permitindo a criação de tokens de API por organização com direitos, eliminando assim a solução alternativa para comprometer a conta de um membro da equipe ou criar uma conta pessoal falsa.
Nikolay 29/05
29
Pena que você tem que pagar US $ 25 / mês por esse recurso. Para um site pequeno, esses US $ 300 / ano podem pagar por muita hospedagem em outro lugar. Obrigado @Trindaz
Joseph Lust
7
É por isso que o BitBucket não é um segundo violino para o Github.
treecoder
2
Esta resposta está desatualizada. Veja a resposta em chaves de implantação somente leitura.
Hauke
36

Para qualquer outra pessoa que encontrar essa pergunta, saiba que atualmente você pode criar chaves de implantação somente leitura:

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

Você ainda pode criar chaves de implantação com acesso de gravação, mas precisa conceder explicitamente essa permissão ao adicionar a chave.

Adam Reis
fonte
1

Para organizações: sugiro criar uma nova equipe especificamente para o usuário. Essa equipe pode conceder acesso somente leitura aos repositórios que você especificar. Eu espero que isso ajude!

correntes
fonte
0

Eu sei que as perguntas são sobre o github, mas talvez para alguns leitores seja bom saber que isso é possível no gitlab e de graça. Verifique https://gitlab.com/help/user/permissions . Passo algum tempo usando o github sem atender totalmente aos meus propósitos. Se soubesse, teria iniciado esse projeto em particular com o gitlab.

guizo
fonte