我正在使用GitHub开发Eclipse插件。我想为我的插件创建一个公共Eclipse更新站点。我可以使用GitHub吗?
我知道GitHub可以通过使用文件信息页面上提供的“原始”链接来托管单个文件。
答案 0 :(得分:12)
忘记Github项目发布功能,它不能用作真正的更新站点(参见最后的注释)。
要实现您的目标,您可以创建Github存储库,在那里提交/推送您的p2存储库,然后使用原始链接将其作为更新站点提供。 例如,对于存储库:
https://github.com/some-user/some-repository/
您可以使用以下链接将其作为更新站点提供:
https://github.com/some-user/some-repository/raw/master/
注意:是的,如果您在浏览器中打开更新站点链接,github将不会为您提供文件列表,而是404.但这没关系。 Eclipse更新站点机制不需要父链接有效。相反,Eclipse将直接查找<update-site URL>/artifacts.jar
(或.xml),并且从artifacts.jar中的信息中,它将自己发现存储在更新站点中的其他工件的URL。 AFAIK,Eclipse更新机制决不需要Web服务器来执行目录的文件列表。
注意2:如果您使用Github项目版本,则只能附加一个压缩的p2存储库。这不是一个正确的更新站点,因为它是一个静态存储库:没有可以上传新版本的URL。 Eclipse将无法自动发现新的更新,而是用户需要为他/她想要更新的每个新版本下载zip。 (还有一个正确的更新站点,只下载安装/更新/查询所需的工件 - 一个小优势)
答案 1 :(得分:9)
Github页面不适合更新网站。
Github pages可能无法正确提供大型二进制文件,如本issue中所述。如果你的罐子很小,可能没问题,但总体而言他们建议不要在那里放置二进制文件。相反,他们建议将二进制文件放在存储库的下载部分中。如果这种情况发生变化,我会很高兴,因为通过推送到github发布更新站点会非常方便。
现在,必须使用他们的API以编程方式上传下载部分中的文件。 this other question的答案指向使用此API的一些库和脚本在java / maven,perl,ruby等中使用。
答案 2 :(得分:5)
您现在可以在发布页面(2013年7月)中尝试。
请参阅“Publish a project release (binary/source packages) on Github?”
原始答案(2013年1月)
我没有测试过,但从技术上讲,可以在任何共享路径中定义p2存储库(文件系统共享或基于Web共享)
你应该只需要:
答案 3 :(得分:4)
Github Pages功能允许您托管文件的任意文件夹,而无需将每个文件转换为github页面。
答案 4 :(得分:1)
不再可能,下载API has officially been deprecated。
来自GitHub博客:
但是,除了源存档之外,某些项目还需要托管和分发大型二进制文件。如果这适用于您,我们建议您使用为此目的而存在的许多出色服务之一,例如Amazon S3 / Amazon CloudFront或SourceForge。查看我们关于分发大型二进制文件的帮助文章。
答案 5 :(得分:1)
我能够使用GitHub pages功能托管Eclipse更新站点。我发现很难弄清楚我需要的所有部分,所以这里是我所遵循的步骤的简要说明。
/docs
文件夹最容易使用。生成起始网站的一种方法是转到GitHub存储库设置页面,然后启动自动页面生成器。/docs
文件夹中的更新站点项目。将它放在一个明显的文件夹中,例如update
。正如其他人所提到的,GitHub页面不支持巨大的二进制文件,因此这只适用于小型项目。要查看示例,请查看我的Live Coding in Python project。