2010-05-10 52 views
29

我正在使用GitHub开发Eclipse插件。我想为我的插件提供一个公共Eclipse更新站点。我可以使用GitHub吗?是否有可能在Github上托管Eclipse更新站点?

我知道GitHub可以用于通过使用文件信息页面上提供的“原始”链接来托管单个文件。

+0

http://stackoverflow.com/a/14916525/6309现在可能会帮助,也许作为压缩的p2更新?我在[我在下面编辑的答案]中提到(http://stackoverflow.com/a/2801996/6309)。 – VonC 2013-07-03 06:09:33

回答

9

Github页面不适合更新网站。

Github pages可能无法正确提供大的二进制文件,如issue中所述。如果你的罐子很小但可能没问题,但总体上他们建议不要在那里放置二进制文件。相反,他们建议将二进制文件放入存储库的下载部分。如果这种情况发生变化,我会很高兴,因为通过推送到github发布更新站点会非常方便。

现在,人们不得不使用它们的API以编程方式在下载部分上传文件。 this other question的答案指向一些库和脚本,它们使用这个API在java/maven,perl,ruby等中使用。

5

您现在可以在版本页面(2013年7月)中试用。

请参阅“Publish a project release (binary/source packages) on Github?


原来的答复(2013年1月)

我没有测试过,但在技术上,在P2存储库可以在任何共享的路径(无论是文件系统共享或定义基于网络共享)

您应该只需要:

+4

我遇到的问题是,github以HTML页面的形式提供目录和文件。要访问文件的内容,有一个“原始”链接。但是,我的更新站点由多个文件和文件夹组成,因此我认为我需要找到一种方法从github获取“原始”目录。 或者,可以在压缩文件中创建更新站点,其中所有文件都存储在单个存档中? – mchr 2010-05-12 07:53:08

+0

@mchr:我不认为更新站点可以是单个zip文件。至于原始目录列表,这是http://support.github.com/的一个很好的问题:http://support.github.com/discussions/site/1444-downloaded-filename-for-rawtrue-links可能帮助:用你的GitHub地址中的'raw'替换'tree'。 – VonC 2010-05-12 08:42:14

+0

看来,如果你使用存储库的根目录,并在URL中使用“raw”,就像@BrunoMedeiros在他的回答中所建议的那样,更新站点工作正常。 – Eyal 2015-03-15 16:02:46

4

http://pages.github.com/

GitHub的网页的功能,让您的主机的文件的文件夹,随意不混帐打开每个文件到GitHub页面

+0

Github页面不适合更新网站。请参阅下面的答案。如果你的罐子很小但可能没问题,但总体上他们建议不要在那里放置二进制文件。 – fmjrey 2011-05-17 07:00:24

1

不,它不可能再下载API has officially been deprecated

从GitHub的博客:

然而,一些项目需要托管,并在除源存档分发大型二进制文件。如果这适用于您,我们建议您使用许多精彩的服务之一,例如Amazon S3/Amazon CloudFront或SourceForge。查看我们关于发布大型二进制文件的帮助文章。

看到这个help article on distributing large binaries

10

忘记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。 (此外,通过正确的更新站点,只需下载安装/更新/查询所需的工件 - 一个小优点)

+3

有关大型存储库和Github使用情况的说明。这个链接描述了Github预计的限制:https://help.github.com/articles/what-is-my-disk-quota - “经验法则:每个存储库1GB,每个文件100MB”。这对大多数Eclipse更新站点应该没问题。如果它变得太大,你可以重置底层的Git仓库。 – BrunoMedeiros 2014-01-17 21:44:01

+0

感谢您分享关于公开提供github文件夹的原始链接。 – 2015-03-24 11:57:01

+0

我试过了(这里是[我的更新站点](https://github.com/eyala/pig-eclipse-update-site)),但奇怪的是,这似乎适用于Linux上的Eclipse,但是从Windows我无法安装或更新计算机。有没有人遇到过这种情况? – Eyal 2015-03-27 09:04:36

1

我能够使用GitHub pages功能托管Eclipse更新站点。我发现很难弄清楚我需要的所有部分,所以下面简要描述我遵循的步骤。

  • 构建您的Eclipse插件项目,并在您的本地工作站上进行测试。
  • 添加一个feature project,并添加您的插件。还设置说明,版权和许可证信息。
  • 创建一个gh-pages分支。一种方法是进入GitHub设置页面,并启动自动页面生成器。
  • 克隆存储库的新副本,并检出gh-pages分支。创建一个通用的Eclipse项目来编辑网页。
  • 创建嵌套在gh-pages分支及其一般项目中的更新站点项目。把它放在一个明显的文件夹中,如update
  • 创建一个类别,并将该功能添加到更新项目中。
  • 单击Build all按钮生成jar文件。
  • 提交并将所有更改推送到mastergh-pages分支。
  • 尝试从更新站点安装。
  • 一旦更新网站正常工作,您可以发布插件Eclipse marketplace。这是可选的,它只是让你的插件更容易找到。

正如其他人所说的,GitHub页面不支持巨大的二进制文件,所以这只适用于小型项目。看一个例子,看看我的Live Coding in Python project

相关问题