使用部署密钥从Github存储库的发行部分下载文件

时间:2019-03-30 13:54:05

标签: git github

我使用只读部署密钥将私有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

但是,我还没有看到有人表明这是不可能的。那我只是想念什么吗?是否可以使用部署密钥(而不是个人访问密钥)从发行版(或整个发行版)下载文件?

我需要拥有一个与维护者的用户帐户无关的密钥,并且我讨厌只为自动下载而创建一些一次性虚拟用户的想法。毕竟,虚拟帐户将与某人的帐户绑定在一起,我不喜欢这样的想法。

1 个答案:

答案 0 :(得分:1)

无法使用部署密钥下载发行版。部署密钥是SSH密钥,在GitHub上,SSH功能仅限于获取和拉取。

当您要下载档案,获取原始文件或执行其他使用HTTPS的操作时,您需要HTTPS凭据。这可以是个人访问令牌,也可以是您帐户中启用的OAuth应用中的OAuth令牌。 SSH密钥不能用于此目的,因为它们用于其他协议。

听起来最适合您的方式是使用可以访问组织帐户的OAuth应用程序。这将有助于避免特定用户离开组织的问题。

您还可以下载存储库,并使用git archive自己生成档案(或通过将其与tar组合来仅提取所需的文件)。当然,那不会那么有效。