在为开发团队创建自定义Eclipse发行版的上下文中。
我如何构建包含一组特定插件的自定义Eclipse发行版?难道还要添加一种更新站点来放置自定义eclipse会更新的插件的特定版本吗?
答案 0 :(得分:18)
我意识到这是一个老帖子,但它一直在进行我的搜索,并且我想在提供Eclipse插件时发生的所有变化和成熟度中提供更多细节。 ..所以,对于那些最终在这个页面上的人,希望以下内容可以帮助你!
总结我的个人发现:
当我为一家提供商业解决方案(http://genuitec.com/sdc)的公司工作时,我试图在下面回答使用免费解决方案进行Eclipse交付的实际情况。
所以,没有进一步的说法......
绝对最小的解决方案是从Eclipse.org下载Eclipse包,添加所需的插件,在eclipse.ini中设置-clean参数,压缩目录并将其交给团队。只要您从内部更新站点添加了功能(并且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配置,可以大大减少团队花在准备工作上的时间。此外,当您添加创建持续管理麻烦的项目时,这些设置会经常更改。当我绕过拉链时,我看到团队也会绕过相应的WIKI页面或类似的东西。通常由每个开发人员来确保他们遵循这些步骤。
管理多个软件包:也许您的开发团队有一个软件包,QA团队有另一个软件包。然后你的开发团队成长并分成两组,工具需求略有不同,现在你的QA团队也需要多个软件包。然后你开始在Eclipse上运行你自己的插件,这是你正在管理的另一个包。经过几年的努力,您将花费所有时间构建Eclipse包,并且您甚至没有尝试就成为了Eclipse / P2 / Update Site专家。显然,这里的解决方案是聘请某人为您做这件事。 :)
短信分发:这对zip文件的效果相当不错,但推出更新会变得混乱。通常,人们使用SMS来下载第一次安装,然后开发人员的工作就是让它保持最新状态。
答案 1 :(得分:5)
Eclipse不是那些需要“安装”的应用程序之一,因为它只能被复制到目录结构中并设置了运行它的快捷方式(BIRT一体化发行版)。 p>
我建议将它安装在一台机器上,安装所有插件,然后压缩目录并使用它分发给其他机器。
运行您自己的更新站点并不困难,您只需要一台服务器,您只需安装所需插件的版本,并确保您的分发点在生成zip文件之前指向该服务器。没有什么可以阻止您的开发人员连接到另一个站点。
答案 2 :(得分:3)
回答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>
然后(文件 - &gt;导入 - &gt;从文件安装软件项目)
Eclipse Node.js IDE以这种方式组装。
这个问题与此有关 Eclipse IDE: install set of plugins
答案 3 :(得分:1)
我可能会对尝试组装自己的Eclipse发行版以熟悉Eclipse Packaging Project http://www.eclipse.org/epp/的人感兴趣。要设置私人更新站点,Sonatype的Nexus Professional就是为了这个目的(商业许可证)。
答案 4 :(得分:0)
只需压缩C:\ eclipse \ plugins目录并分发。
确保开发人员使用“-clean”选项启动Eclipse,以确保包含任何更改。