从 github 项目分发二进制文件的最佳实践是什么?
我能想到:
- 在您的项目中创建一个 bin 文件夹,您可以在其中保留二进制文件的副本。然而,github 的目的是存储源代码而不是二进制文件 存储大型且定期更改的二进制文件可能会占用大量磁盘空间和带宽?
- 将二进制文件的副本上传到项目的github 页面,或使用单独的网站来托管您的二进制文件。但是,这并不总是可行的,并且需要更多(手工)工作来使二进制文件保持最新状态,我宁愿让二进制文件自动更新或通过单个操作进行更新。
从 github 项目分发二进制文件的最佳实践是什么?
我能想到:
自 2012 年 12 月 11 日起,GitHub 上的下载功能已弃用。分发大型二进制文件一文建议使用外部服务:
我们建议将Amazon S3存储与CloudFront配对以通过 CDN 或其他服务(例如SourceForge )提供服务。
但是,从 2d July 2013 开始,您现在可以定义 release。
Releases,将软件发送给最终用户的工作流程。
发布是一流的对象,带有变更日志和二进制资产,提供了 Git 工件之外的完整项目历史。可以从存储库的主页访问它们:
我现在很清楚,不要在 github 项目本身中存储二进制文件很重要。因此,您需要将二进制文件存储在其他地方。我遇到的可能的解决方案是:
什么样的二进制文件?二进制文件必须在某个时候来自源代码,对吗?
因此,将构建这些二进制文件的源添加为 git 中的子模块。然后在您的构建过程中首先构建这些二进制文件,然后再构建您的源代码。子模块与您知道有效的源的特定版本保持同步。由于您拥有源代码,因此您还可以更轻松地进行调试。
除非二进制文件是图像等,否则只需存储它们。
如果空间是问题,请使用 bitbucket,因为它们有无限的空间。