我们的开发环境所需的大多数项目工件(构建时,运行时库)都是通过maven依赖项动态处理的。但是,在可以可靠地使用系统之前,还有其他程序必须用于所有开发人员帐户(例如JDK,Ant,svn客户端或tortoise svn,eclipse,maven,jboss appserver ......)
有没有办法实现自动化,这样您就可以让开发人员快速了解开发环境。你在哪里存储这样的工件(目前我们指向一个http服务器下载这样的工件,但它在一段时间内非常繁重),这里还有其他选择。
编辑1:
答案 0 :(得分:1)
我们已经在Ubuntu Linux上使用虚拟机一年了,完全按照您的描述进行操作。这样,开发人员需要做的唯一事情就是运行一个虚拟机,上面有所有必要的东西。
它有一点性能损失,但你可以完美地使用它。
答案 1 :(得分:0)
最简单的解决方案是为整个机器准备一个包含所有这些工具的磁盘映像。但这不是一个“模块化”选项,因为它也决定了操作系统。
最佳解决方案是1个大型存档,其中包含所需的所有工具。此选项的问题是由于未正确安装工具而丢失的文件(例如Windows注册表中定义的svn shell扩展)。
不幸的是,没有通用的方法可以做到这一切。设置一切都是一个非常痛苦的过程,花了我大约4个小时来设置我当前的工作站(eclipse,svn,maven,..)
但可能更糟:想象一下你使用MS Visual Studio和MS Sql Server。他们的安装脚本需要花费大量时间进行安装。 VS Service Pack 1安装时间为90分钟。
答案 2 :(得分:0)
一种选择是创建系统映像,但它也有缺点。 我们的系统支持部门尝试了此选项,但很快发现用于创建系统映像的计算机上安装的某些工具在安装期间存储了用户/许可证信息。在全新系统上恢复映像时,会报告许可证冲突。