2008-12-25 58 views
7

继承问题。我使用三种不同的机器进行开发。我的搭档正在使用两个。我们必须在所有五台机器上完成相同的设置程序才能开始工作。在虚拟机内部设置开发环境

在这里使用一个php项目,所以: 安装和配置,PDT,一个php调试器和一些版本的XAMPP。 然后可以安装一个svn客户端和其他工具。

再次,对五个机器中的每一个。

如果我们在与生产服务器使用相同堆栈设置相同版本的虚拟机中完成了所有这一切操作,该怎么办?然后,我们每个人都可以抓取VM映像的副本,在五台机器的每一台上运行该映像,并在该VM中完成我们的所有开发。把Eclipse,Apache,MySQL,这些作品全部放在这个虚拟主机中。

这种方法的唯一不足就是性能。这真的是一个大问题吗?五款中最慢的机器是采用英特尔凌动1.6 GHz处理器的三星NC10。

您认为这是可行的且实际上可用吗?还是我疯了?

回答

8

我使用虚拟机进行开发(运行在我的笔记本电脑上)并从未遇到性能问题。您可以采取的另一种方法是将驱动器映射到您想要的状态。在需要时使用Acronis或Ghost重新映像每台机器。只需要大约5-10分钟即可在任何现代PC上恢复图像。

+0

尽管VM映像的大小很大(大约10 GB),但它会让您摆脱所有其他问题。现在,当外部磁盘从500 GB到1 TB不等时,您可以轻松地在同级中共享此VM映像。 – Pradeep 2008-12-25 08:37:49

+0

......非常真实,我们大部分时间都是这样操作的。 – 2008-12-25 08:45:32

+0

我很高兴人们正在使用这种方法,而且我不只是补充它。我会给它一个镜头。 – 2008-12-25 16:46:04

1

它当然可以做到。什么让我失望的是VM镜像的大小,通常是几个GB。将它放在网络共享上意味着可能需要更长时间才能完成当前的安装过程。我想外接硬盘将是最简单的方法。

性能不会成为任何Web开发的问题。

我不得不问为什么每次坐下工作时为什么现在的机器需要“重新成像”?

2

我使用虚拟机来处理所有“工作”,因为它使我远离“玩”。这种设置使我可以使用办公室VPN,而不必将我的整个机器暴露在办公室环境中(我相信它和互联网一样多;;-)另外,我不必担心通过尝试游戏来搞乱我的开发环境或其他软件。我的工作VM目前在V​​irtualBox内部运行,但过去我使用过VMWare。在使用Webex或终端服务器客户端等图形密集型程序时,我只注意到性能问题。

1

如果您使用的是Windows,您可能需要在主映像上使用SYSPREP,以便首次启动虚拟机时运行“迷你设置”。从Windows的角度来看,机器具有完全相同的SID,主机名和其他东西 - 在同一网络上运行具有相同SID的多台机器可能会导致很多令人头疼的问题。如果你想让他们相互沟通,更是如此。

1

我已经在vmware虚拟机上运行websphere for zSeries,没有任何问题,并且websphere的资源密集度高于任何PHP堆栈。我发现拥有一台多核心机器或至少超线程技术可以使其运行速度更快。

1

使用vmware时,磁盘操作速度较慢。对于PHP开发,我怀疑这会是一个问题,但是如果您正在编译大型C++项目,您一定会注意到它。还有Sun的VirtualBox是免费的,最新版本相当不错(但我没有看到磁盘操作的缓慢程度)。

0

我在实践中使用这个想法。虚拟机通常很适合开发。

  1. 在多个操作系统和多个独立的开发环境中运行。
  2. 保留较旧的开发环境以供以后支持。
  3. 可以很容易地备份,当硬盘驱动器崩溃时不需要从头开始。
  4. 可以从开发人员复制到另一个人,因此每个人都不必进行繁琐的安装和配置。

下双方都:

  1. 虚拟机是比较慢,需要更强大的计算机比你需要,否则。我会建议至少有4 G的内存,但最好更像是16,快速多核处理器和快速硬盘。
  2. 复制Windows操作系统虚拟机时,每个使用的虚拟机副本都应该有自己的产品密钥。制作副本时,需要使用新产品密钥进行注册。
0

您是否想过像ansible这样的软件配置管理员,厨师或木偶?有了这样的软件,这些任务的自动化非常容易!它甚至可以创建新的虚拟机并配置它。