2010-03-01 52 views
0

我们的开发环境需要的大部分工程构件(构建时间,运行时库)都是通过maven依赖关系动态处理的。但还有其他程序必须在所有开发人员帐户可以可靠地使用系统之前使用(例如,JDK,Ant,svn客户端或乌龟svn,eclipse,maven,jboss应用服务器...)基于Java的开发环境

是否有方法来自动化这个,这样你就可以让开发人员快速开发环境。如何在哪里存储这些工件(目前我们指向一个http服务器来下载这些工件,但它在一段时间内非常繁重),这里还有什么其他选项存在。

编辑1:

  1. 有些工具不修改注册表,主要是你解压并运行(例如ANT,JBoss的,...)。
  2. 一些工具说龟龟SVN是痛苦的,因为你需要通过他们的安装程序安装它们。如果供应商开始推出他们的增量变化,没有明确的方法推动这些变化到所有开发人员机器上)
+0

在http://serverfault.com/中可以更好地解决这个问题,因为它似乎是每个人都必须处理的常见部署方案。对于发布在serverfault.com上的问题, – Mike 2010-03-01 13:25:52

+0

响应相当差。什么是将问题提交到serverfault.com的正确过程,或者我们是否应该在那里重新创建问题 – Joe 2010-03-02 04:00:41

回答

1

我们一直在使用Ubuntu Linux的虚拟机器一年, '正在描述。这样,开发人员开始需要做的唯一事情就是运行一台具有所有必要工具的虚拟机。

它有一点点的性能损失,但你可以完美地使用它。

+0

我们的大多数开发机器目前都基于Windows,并且没有转向具有可供开发人员,原因是大多数时候项目所需的工具不断变化,并且无法在所有机器上保持同步(例如,jboss从5.0.0移动到5.1。0或补丁版本) – Joe 2010-03-01 10:59:36

0

最简单的解决方案是为整个机器准备一个包含所有这些工具的磁盘映像。但这不是一个“模块化”选项,因为它也决定了操作系统。

最好的解决方案是1大档案,其中包含所有需要的工具。此选项的问题是由于未正确安装工具而导致丢失的文件(例如Windows注册表中定义的svn shell扩展)。

不幸的是,没有通用的方法来完成这一切。这是一个非常痛苦的过程,设置所有东西,花了我大约4个小时建立我目前的工作站(日食,svn,maven,..)

但它可能会更糟糕:想象一下,您使用MS Visual Studio MS Sql服务器。他们的安装脚本需要安装HORRIBLE时间。 VS的Service Pack 1需要90分钟才能安装。

+0

我更喜欢一种通过SCM系统驱动的解决方案,以便您可以更新那里的图像,随后所有开发人员都可以选择这些更改 – Joe 2010-03-01 11:01:49

0

一种选择是创建一个系统映像,但它也有其缺点。 我们的系统支持部门尝试了此选项,但很快发现安装在用于创建系统映像的计算机上的一些工具正在存储用户/许可证信息。在全新系统上恢复映像时,会报告许可证冲突。

+0

我们使用的大多数软件都是开放的因此我暂时不会太担心授权问题。 – Joe 2010-03-01 11:02:37