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

Jos*_*ong 69 binary github distribute

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

我能想到:

  • 在项目中创建一个bin文件夹,您可以在其中保留二进制文件的副本.但是,github用于存储源代码而不是二进制文件存储大量且经常更改的二进制文件可能是昂贵的季节空间和带宽?
  • 将二进制文件的副本上载到项目的github页面,或使用单独的网站来托管二进制文件.但是,这并不总是可行的,并且需要更多(手工)工作来保持二进制文件是最新的,我宁愿让二进制文件自动更新或使用单个操作.

vit*_*aut 60

截至2012年12月11日,GitHub上下载功能已弃用.分发大型二进制文章的文章建议使用外部服务:

我们建议将Amazon S3CloudFront配合使用,以便通过CDN或其他服务(如SourceForge)进行服务.


但是,自2013年7月2日起,您现在可以定义一个版本.

发布,为最终用户提供软件的工作流程.
发布是具有更改日志和二进制资产的一流对象,它们提供了超出Git工件的完整项目历史记录.它们可以从存储库的主页访问:

主页

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

发布


Jos*_*ong 18

现在很清楚,重要的是不要在你的github项目中存储二进制文件.因此,您需要在其他地方存储二进制文件.我遇到的可能的解决方案是:

  • 将二进制文件存储在单独的子模块中(dalores idea).将它们存储在您的项目github页面中是有意义的,您可以通过github使用它来托管您的项目网站.
  • 如果您只有几个二进制文件或zip文件,您可以通过下载 - >上传新文件将它们上传到github.此功能非常有限,但您无法将文件放在结构化文件夹中.
  • 对于java jar文件,有像Nexus这样的解决方案来管理你的库.
  • 将二进制文件存储在您自己托管的完全独立的站点上

  • 为什么不在你的github项目中存储二进制文件很重要? (7认同)
  • GitHub 上传现已弃用。请参阅 https://github.com/blog/1302-goodbye-uploads (2认同)