Github:只读访问私有仓库


139

我正在Github上开发一些私有项目,我想将夜间cronjobs添加到我的部署服务器中,以从github中获取最新版本。我目前正在通过在每个部署服务器上生成密钥对并将公钥作为“部署密钥”添加到github项目中来进行此操作。

但是,我最近发现这些部署密钥实际上确实具有对该项目的写访问权限。因此,每个服务器管理员都可能开始编辑。此外,我可以将每个部署密钥仅添加到一个存储库,而我希望能够在一个和同一台部署服务器上部署多个存储库。

有没有办法为Github上的选定用户提供私有存储库的只读访问权限?


您想限制 只读访问权限,不是吗?如果您想进行无限制的只读访问,则可以使用git://协议代替ssh://ssh+git://)。
JakubNarębski2010年

Answers:


69

拥有(相对较新的)“组织”功能可让您添加对私有存储库具有只读访问权限的人员,这具有很好的权威性


27
实际上,这是一种解决方法,因为您需要创建个人帐户。他们本可以通过允许每个组织创建具有权限的API令牌来更好地进行设计,从而消除变通办法来破坏团队成员的帐户或创建伪造的个人帐户。
尼古拉

29
太糟糕了,您必须为此功能支付$ 25 /月。对于小型网站,每年$ 300可以支付其他地方的大量托管费用。感谢@Trindaz
Joseph Lust

7
这就是为什么BitBucket不在Github之上的原因。
2015年

2
这个答案已经过时了。请参阅只读部署密钥的答案。
Hauke


1

对于组织:我建议创建一个专门针对用户的新团队。然后,该团队可以授予对您指定的存储库的只读访问权限。我希望这有帮助!


0

我知道问题是关于github的,但是对于某些读者来说,很高兴知道这可以在gitlab中免费获得。检查https://gitlab.com/help/user/permissions。我花了一些时间使用github却没有完全满足我的目的。如果我知道,那我将使用gitlab启动这个特定项目。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.