7

这是问题所在。我使用大约三台不同的机器进行开发。我的伙伴正在使用两个。我们必须在所有五台机器上完成相同的设置程序才能开始工作。

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

再次,对五台机器中的每台机器。

相反,如果我们在一个与生产服务器具有相同堆栈、相同版本的虚拟机中执行所有这些操作,那会怎样。然后我们每个人都可以获取 VM 映像的副本,在五台机器的每一台上运行该映像,并在该 VM 中完成我们所有的开发。将 Eclipse、apache、mysql、作品全部放在那个 vm 中。

这种方法唯一的缺点是性能,请纠正我的唯一部分。不过真的有那么大的问题吗?五台机器中最慢的机器是三星 NC10,采用英特尔凌动 1.6 GHz 处理器。

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

4

8 回答 8

8

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

于 2008-12-25T08:18:08.970 回答
2

我将虚拟机用于我所有的“工作”,因为它远离我的“游戏”。这种设置允许我使用办公室 VPN,而无需将我的整台机器暴露在办公室环境中(我信任它与互联网一样多。;-) 而且我不必担心通过尝试游戏来搞乱我的开发环境或其他软件。我的工作虚拟机目前在 VirtualBox 中运行,但我过去使用过 VMWare。我只注意到使用 Webex 或终端服务器客户端等图形密集型程序时的性能问题。

于 2008-12-25T08:33:09.330 回答
1

当然可以。让我失望的是 VM 映像的大小,通常是几 GB。将它放在网络共享上意味着传输时间可能比您当前的设置过程需要更长的时间。我想外部硬盘驱动器将是移动它的最简单方法。

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

我不得不问为什么每次您坐下来工作时都需要“重新成像”您当前的机器?

于 2008-12-25T08:20:35.270 回答
1

如果您使用的是 Windows,您可能希望在主映像上使用SYSPREP,以便在您首次启动虚拟机时运行“迷你设置”。

否则,从 Windows 的角度来看,这些机器具有完全相同的 SID、主机名和其他东西——在同一网络上运行具有相同 SID 的多台机器可能会引起很多麻烦。如果您希望他们相互交流,那就更是如此。

于 2009-01-05T04:26:29.590 回答
1

我已经在 vmware 虚拟机上运行 websphere for zSeries,没有任何问题,并且 websphere 比任何 PHP 堆栈都更占用资源。我发现拥有多核机器或至少超线程可以让它运行得更快。

于 2009-01-05T04:36:00.883 回答
1

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

于 2009-01-05T04:46:03.670 回答
0

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

  1. 在多个操作系统和多个单独的开发环境上运行。
  2. 保留较旧的开发环境以供以后支持。
  3. 可以轻松备份,当硬盘崩溃时无需从头开始。
  4. 可以从开发者复制到另一个,所以每个人都不必做繁琐的安装和配置。

缺点是:

  1. 虚拟机速度较慢,您需要比其他方式更强大的计算机。我建议至少有 4 G 的内存,但最好是 16 个,快速多核处理器和快速硬盘驱动器。
  2. 复制 Windows 操作系统虚拟机,每个使用的虚拟机副本都应该有自己的产品密钥。制作副本时,需要使用新的产品密钥进行注册。
于 2013-10-03T18:16:53.390 回答
0

您是否考虑过像ansible、chef 或 puppet 这样的软件配置管理器?有了这样的软件,这些任务的自动化是非常容易的!它甚至可以创建新的虚拟机,然后对其进行配置。

于 2014-02-13T11:35:42.343 回答