Github: accès en lecture seule à un dépôt privé

139

Je développe des projets privés sur Github, et j'aimerais ajouter des cronjobs nocturnes à mes serveurs de déploiements pour extraire la dernière version de github. Je fais actuellement cela en générant des paires de clés sur chaque serveur de déploiement et en ajoutant la clé publique au projet github en tant que «clé de déploiement».

Cependant, j'ai récemment découvert que ces clés de déploiement ont en fait un accès en écriture au projet. Par conséquent, tous les administrateurs de serveur pourraient potentiellement commencer à modifier. De plus, je peux ajouter chaque clé de déploiement à un seul référentiel, alors que je souhaiterais pouvoir déployer plusieurs référentiels sur un seul et même serveur de déploiement.

Existe-t-il un moyen de fournir un accès en lecture seule aux référentiels privés à des utilisateurs sélectionnés sur Github?

Jeroen
la source
Vous souhaitez avoir un accès en lecture seule restreint , n'est-ce pas? Si vous souhaitez un accès en lecture seule sans restriction , vous pouvez utiliser le git://protocole au lieu de ssh://( ssh+git://).
Jakub Narębski

Réponses:

69

Je l' ai sur la bonne autorité que le (relativement nouvelle) « organisations » fonctionnalité vous permet d'ajouter des personnes avec un accès en lecture seule à un référentiel privé.

pmdj
la source
27
C'est en fait une solution de contournement car vous devez créer un compte personnel. Ils auraient pu mieux concevoir cela en permettant la création de jetons API par organisation avec des droits, éliminant ainsi la solution de contournement pour compromettre le compte d'un membre de l'équipe ou créer un faux compte personnel.
nikolay
29
Dommage que vous ayez à payer 25 $ / mois pour cette fonctionnalité. Pour un petit site, ces 300 $ / an peuvent payer beaucoup d'hébergement ailleurs. Merci @Trindaz
Joseph Lust
7
C'est pourquoi BitBucket n'est pas un second violon à Github.
treecoder
2
Cette réponse est dépassée. Voir la réponse sur les clés de déploiement en lecture seule.
Hauke
37

Pour quiconque trouve cette question, sachez que de nos jours, vous pouvez en fait créer des clés de déploiement en lecture seule:

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

Vous pouvez toujours créer des clés de déploiement avec un accès en écriture, mais vous devez explicitement accorder cette autorisation lors de l'ajout de la clé.

Adam Reis
la source
1

Pour les organisations: je suggère de créer une nouvelle équipe spécifiquement pour l'utilisateur. Cette équipe peut ensuite accorder un accès en lecture seule aux référentiels que vous spécifiez. J'espère que ça aide!

chaîne
la source
-1

Je sais que les questions concernent github mais peut-être que pour certains lecteurs, il serait bon de savoir que cela est possible dans gitlab et gratuitement. Vérifiez https://gitlab.com/help/user/permissions . Je passe du temps à utiliser github sans servir pleinement mes objectifs. Si je savais, j'aurais commencé ce projet particulier avec gitlab.

guizo
la source