2010-05-10 87 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

相關問題