2008-12-08 101 views
11

在爲開發團隊創建自定義Eclipse分發的上下文中。創建一個Eclipse「Distribution」?

我該如何構建一個包含特定插件集的自定義Eclipse發行版?添加一種更新站點來添加自定義Eclipse的更新插件的特定版本會很困難嗎?

+0

網絡搜索引擎不理解這個詞在引號「」 – 2013-04-04 10:17:08

+0

Yoxos提供了一個解決這個:https://yoxos.eclipsesource.com/ – 2014-10-08 18:22:45

+0

參見Genuitec的安全傳遞中心:https://www.genuitec.com/products/sdc/ – 2014-10-08 18:23:24

回答

5

Eclipse不是那些需要「安裝」的應用程序,因爲它可以被複制到一個目錄結構中,並且設置了快捷方式來運行它(a la BIRT all-in-one發行版)。

我會建議在一臺機器上安裝它,獲取所有安裝的插件,然後壓縮目錄並使用它來分發到其他機器。

並且運行您自己的更新站點並不困難,您只需要一臺服務器,您只需安裝所需的插件版本,並確保在製作zip文件之前將該分發點指向該服務器。沒有什麼能阻止你的開發者連接到另一個站點。

+2

該方法的主要問題是Eclipse在安裝插件時在其元數據中編碼安裝路徑。因此,如果將一個用戶的eclipse安裝複製到另一個用戶,它將會崩潰。 – Guss 2011-06-16 10:35:27

0

只需將C:\ eclipse \ plugins目錄壓縮並分發即可。

只需確保開發人員使用「-clean」選項啓動Eclipse,以確保包含任何更改。

1

對於任何試圖組裝他們自己的Eclipse發行版來熟悉Eclipse Packaging Project http://www.eclipse.org/epp/的人來說,我可能會感興趣。要設置專用更新站點,Sonatype的Nexus Professional專門用於此目的(商業許可)。

17

我意識到這是一箇舊帖子,但它不斷出現在我所做的搜索中,並且考慮到在交付Eclipse插件時發生的所有更改和成熟度,我想詳細介紹一些細節...所以,對於那些最終在這個頁面上的人,希望以下內容能幫助你!

總結我個人的調查結果:

  • 目前在這一領域已經有許多改進,無論是在開源和商業
  • 分佈的複雜性往往大於預期
  • 建立在背上別人,這是值得的!

雖然我爲一家提供商業解決方案的公司(http://genuitec.com/sdc)工作,但我已嘗試使用免費解決方案來回答Eclipse交付的實際問題。

因此,沒有進一步的告別......

絕對最小的解決方案是從Eclipse.org下載Eclipse的包,加入你想要的插件,設置在在的eclipse.ini參數 - 清潔,拉鍊拉上該目錄並將其交給你的團隊。只要您從內部更新站點添加了這些功能(並且URL保持不變),Eclipse就可以從中進行更新。

這將是第一次,因爲它很容易,這是大多數人開始做的事情。但它會忽略工具堆棧的生命週期。下面是我在與他們的Eclipse工具幫助客戶遇到了一些難點:

  • 的Eclipse包:你必須是一個Eclipse/P2大師建立和維護的Eclipse包。 EPP工具允許您構建自己的包,但是您需要圍繞Eclipse包p2和EPP工具提供大量的領域知識。一個開始的地方是http://wiki.eclipse.org/EPP/How_to_build_a_package_locally

  • 插件:尋找插件涉及大量尋找更新網站,然後你永遠不能確定你有確切的正確的二進制文件。有時候更新站點會停止運行,或者當插件開發者發佈新的更新站點時,您會失去對Eclipse版本的支持。其中一個建議是製作更新站點的本地副本,以減輕您遇到此類問題的風險。 Eclipse更新:如果您希望您的團隊切換Eclipse版本,那麼最終只會在下一個版本中重新構建您的工具堆棧,並讓所有人都重新安裝。運送郵編時無法解決此問題。

  • 插件更新:Eclipse旨在繼續安裝新版本的插件,但在大型生產團隊中可能會適得其反。只要您的團隊不出去並添加他們自己的更新站點,更新站點的本地鏡像就可以爲您提供幫助。

  • 安全性:您是否需要阻止您的團隊安裝某些軟件?那需要簽名的工具呢?您必須編寫插件來限制軟件包的功能,並且您可能必須自己簽名插件。 PDE構建對簽名提供了一些支持。

  • 長期維護:在幾年(或有時幾個月)重建工具堆棧幾乎是不可能的,因爲支持不同版本的Eclipse和不同的插件版本在Eclipse生態系統中動態進行。保存Eclipse包的副本。買大硬盤。鏡像您使用的更新站點。

  • 工作區設置:您可以將Eclipse部署到您的團隊,但這只是該過程的第一步。自動化工作區設置,例如偏好,項目,Checkstyle或PMD配置,可以大大減少團隊花在準備工作上的時間。此外,這些設置會隨着您添加創建連續管理麻煩的項目而經常變化。當傳遞一個zip文件時,我發現團隊也傳遞了相應的WIKI頁面或類似的東西。通常由每位開發人員來確保他們遵循這些步驟。

  • 管理多個軟件包:也許你的開發團隊有一個軟件包,另一個軟件包用於你的QA團隊。然後你的開發團隊不斷髮展壯大,並分成兩組,工具需求略有不同,現在你的QA團隊也需要多個軟件包。然後你開始在Eclipse之上發佈你自己的插件,這是你正在管理的另一個包。幾年之後,您將花費所有時間構建Eclipse包,並且您甚至無需嘗試就成爲了Eclipse/P2/Update Site guru。顯然,這裏的解決方案是僱用某人爲你做這件事。 :)

  • 短信分發:這適用於壓縮文件合理,但推出更新會變得凌亂。通常,人們使用SMS來下載第一次安裝,然後開發人員的工作就是保持最新。

4

回答到Lokki的原來的問題,領隊可以創建自己的團隊「發行」,作爲.p2f文件, 包含插件ID,更新網站,並使用精確的版本。

使用(文件 - >導出 - >安裝 - >軟件項目到文件)編寫插件列表文件(* .p2f),

文件例如

<?xml version='1.0' encoding='UTF-8'?> 
<?p2f version='1.0.0'?> 
<p2f version='1.0.0'> 
    <ius size='5'> 
    <iu id='org.chromium.sdk.feature.group' name='ChromeDevTools SDK' version='0.3.9.201302091448'> 
     <repositories size='1'> 
     <repository location='http://www.tomotaro1065.com/nodeclipse/updates/'/> 
     </repositories> 
    </iu> 
    <iu id='org.chromium.debug.feature.group' name='Chromium JavaScript Remote Debugger' version='0.3.9.201302091448'> 
     <repositories size='1'> 
     <repository location='http://www.tomotaro1065.com/nodeclipse/updates/'/> 
     </repositories> 
    </iu> 
    <iu id='com.eclipsesource.jshint.feature.feature.group' name='JSHint Eclipse Integration' version='0.9.6.20130319-2128'> 
     <repositories size='1'> 
     <repository location='http://github.eclipsesource.com/jshint-eclipse/updates/'/> 
     </repositories> 
    </iu> 
    <iu id='markdown.editor.feature.feature.group' name='Markdown Editor' version='0.2.3'> 
     <repositories size='1'> 
     <repository location='http://winterwell.com/software/updatesite/'/> 
     </repositories> 
    </iu> 
    <iu id='org.nodeclipse.feature.group' name='Nodeclipse' version='0.2.0.201302091448'> 
     <repositories size='1'> 
     <repository location='http://www.tomotaro1065.com/nodeclipse/updates/'/> 
     </repositories> 
    </iu> 
    </ius> 
</p2f> 

然後(文件 - >導入 - >從文件安裝的軟件產品)

Import -> Install Software Item from file

Eclipse Node.js IDE組裝這種方式。

這個問題是關係到 Eclipse IDE: install set of plugins