这是问题所在。我使用大约三台不同的机器进行开发。我的搭档正在使用两个。我们必须在所有五台机器上进行相同的设置程序才能开始工作。
在这里使用php项目,所以: 安装和配置,PDT,php调试器和某些版本的XAMPP。 然后可以安装一个svn客户端和任何其他工具。
再次,对五台机器中的每台机器。
相反,如果我们在使用与生产服务器相同的堆栈,相同版本设置的虚拟机中完成所有这一次,那该怎么办?然后我们每个人都可以获取VM映像的副本,在五台计算机中的每台计算机上运行该映像,并在该VM中完成所有开发。把Eclipse,apache,mysql,所有的东西放在那个vm中。
这种方法的唯一不利之处,请唯一的一部分就是表现。这真的是一个大问题吗?五台中最慢的机器是采用Intel Atom 1.6 ghz处理器的三星NC10。
您认为这是否可行并且实际可用?还是我疯了?
答案 0 :(得分:8)
我使用VM进行开发(在我的笔记本电脑上运行)并且从未遇到过性能问题。您可以采取的另一种方法是将驱动器映像到您想要的状态。使用Acronis或Ghost在需要时重新映像每台计算机。在任何现代PC上恢复图像只需要大约5-10分钟。
答案 1 :(得分:2)
我使用VM来完成所有“工作”,因为它远离我的“游戏”。这个设置允许我使用办公室VPN而不会将我的整个机器暴露在办公室环境中(我信任它和互联网一样多。;-)而且我不必担心通过尝试游戏搞乱我的开发环境或其他软件。我的工作VM当前在VirtualBox中运行,但我过去使用过VMWare。在使用Webex或终端服务器客户端等图形密集型程序时,我只注意到性能问题。
答案 2 :(得分:1)
当然可以做到。什么让我失望的是VM映像的大小,通常是几GB。将它放在网络共享上意味着它可能需要更长的时间来传输然后您当前的设置过程需要。我想外置硬盘驱动器是移动它的最简单方法。
任何Web开发都不会出现性能问题。
我不得不问为什么每次坐下来工作时都需要对当前的机器进行“重新成像”?
答案 3 :(得分:1)
如果您使用的是Windows,则可能需要在主映像上使用SYSPREP,以便在首次启动虚拟机时运行“迷你设置”。
否则,从Windows的角度来看,这些机器具有完全相同的SID,主机名和其他东西 - 在同一网络上运行具有相同SID的多台机器可能会导致大量的麻烦。如果你希望他们彼此沟通,那就更多了。
答案 4 :(得分:1)
我在vmware虚拟机上运行websphere for zSeries没有问题,而且websphere比任何PHP堆栈都更加耗费资源。我发现使用多核机器或至少使用超线程可以让它运行得更快。
答案 5 :(得分:1)
使用vmware,磁盘操作速度较慢。对于PHP开发我怀疑它会是一个问题,但如果你正在编译一个大的C ++项目,你肯定会注意到它。 Sun的VirtualBox也是免费的,最新版本相当不错(但我还没看过磁盘操作速度有多慢)。
答案 6 :(得分:0)
我在实践中使用这个想法。虚拟机通常非常适合开发。
下方是:
答案 7 :(得分:0)
您是否考虑过像ansible这样的软件配置管理器,厨师或木偶?有了这样的软件,这类任务的自动化非常容易!它甚至可以创建新的虚拟机,然后配置它。