github - 从 github 项目分发二进制文件的最佳实践是什么?

标签 github binary distribute

从 github 项目分发二进制文件的最佳实践是什么?

我能想到:

  • 在项目中创建一个 bin 文件夹,在其中保存二进制文件的副本。 但是,github 旨在存储源代码而不是二进制文件 定期更改二进制文件可能会导致磁盘空间和带宽昂贵?
  • 将二进制文件的副本上传到 github pages的 项目,或使用单独的网站来托管您的二进制文件。 然而,这并不总是可行的,并且需要更多的(手工)工作来保持 二进制文件是最新的,我宁愿让二进制文件自动更新或使用 单一 Action 。

最佳答案

截至 2012 年 12 月 11 日,Downloads feature on GitHub is deprecated 。文章Distributing large binaries建议使用外部服务:

We recommend Amazon S3 for storage paired with CloudFront for serving via CDN, or other services such as SourceForge.

<小时/>

但是,since 2d July 2013 ,您现在可以定义版本

Releases, a workflow for shipping software to end users.
Releases are first-class objects with changelogs and binary assets that present a full project history beyond Git artifacts. They're accessible from a repository's homepage:

homepage

  • 版本附有版本说明以及下载软件或源代码的链接。
  • 遵循许多 Git 项目的惯例,版本与 Git 标签相关联。您可以使用现有标签,或者让版本在发布时创建该标签。
  • 您还可以将二进制 Assets (例如编译的可执行文件、缩小的脚本、文档)附加到版本。发布后,任何可以查看存储库的人都可以获得发布详细信息和 Assets 。

release

关于github - 从 github 项目分发二进制文件的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10346370/

相关文章:

android - AOSP 存储库与私有(private)存储库同步

git - merge 功能分支而不从共同祖先一直分支?

xml - HTTP GET 请求获取 XML 文件的二进制内容

linux - 从已编译的二进制文件中获取宏值(带调试)

matlab - 如何在不使用循环的情况下将二进制转换为十进制?

xcode - 为什么我在分发应用程序时在管理器中出现错误 (xcode 10)

python - 无法通过分发将 pip 与 Python 3.2 一起使用

python - 如何在特定日期从 github pip 安装

git - 如何 merge 回远程分支

python - 从 PyPI 安装我的 sdist 将文件放在意想不到的地方