我使用只读部署密钥将私有Github存储库克隆到Docker容器中。但是,似乎不可能使用相同的部署密钥从发行版下载文件。特别是,使用个人访问密钥似乎只能从发行版下载文件。例如,这是一种用于执行此操作的工具:
https://github.com/gruntwork-io/fetch
似乎所有这些响应都集中在使用个人访问令牌而不是部署密钥上:
How do I download binary files of a GitHub release?
How to download GitHub Release from private repo using command line
但是,我还没有看到有人表明这是不可能的。那我只是想念什么吗?是否可以使用部署密钥(而不是个人访问密钥)从发行版(或整个发行版)下载文件?
我需要拥有一个与维护者的用户帐户无关的密钥,并且我讨厌只为自动下载而创建一些一次性虚拟用户的想法。毕竟,虚拟帐户将与某人的帐户绑定在一起,我不喜欢这样的想法。
答案 0 :(得分:1)
无法使用部署密钥下载发行版。部署密钥是SSH密钥,在GitHub上,SSH功能仅限于获取和拉取。
当您要下载档案,获取原始文件或执行其他使用HTTPS的操作时,您需要HTTPS凭据。这可以是个人访问令牌,也可以是您帐户中启用的OAuth应用中的OAuth令牌。 SSH密钥不能用于此目的,因为它们用于其他协议。
听起来最适合您的方式是使用可以访问组织帐户的OAuth应用程序。这将有助于避免特定用户离开组织的问题。
您还可以下载存储库,并使用git archive
自己生成档案(或通过将其与tar
组合来仅提取所需的文件)。当然,那不会那么有效。