为什么使用Vagrant而不是共享VM的磁盘本身更好?

时间:2012-05-04 19:59:10

标签: development-environment vagrant

我正在寻找向我的团队分发开发环境的最佳方式,并找到了Vagrant。 经过一些阅读和测试,这是我可以说的话

  

   自动创建新VirtualBox VM的过程(适用于新用户)。

     

缺点:    通过要求新用户学习新工具来取消我找到的唯一专家。

学习曲线比实际复制VDI和配置新的VirtualBox VM使用它更加昂贵。 (它不是那么好,但仍然比学习新工具更高。)

我绝对不明白为什么使用Vagrant使分发开发环境的过程与创建普通的VirtualBox VM和共享磁盘完全不同。

也许我在这里错过了一个观点,有人能让我高兴吗?

4 个答案:

答案 0 :(得分:7)

我只能根据自己的经验说话:学习曲线非常值得。

作为程序员,我喜欢能够为开发,测试和部署设置单独的隔离环境。

当然,你可以复制VDI和其他任何东西,但在我看来,执行一些命令行程序更容易,而且它已经准备好了。复制VDI或其他类型的图像对我来说似乎很脏。

此外,我可以制作打包的流浪盒,我可以发送给我的同事或在互联网上发布。

答案 1 :(得分:5)

流浪者的优势远不止于此:

  • 100%可重复的环境,无处不在。
  • 可以存储在源代码管理(git / svn / ...)和版本化。
  • 保存磁盘空间。这在笔记本电脑上很重要,我现在在我的系统上有92个Vagrantfiles,而不是全部创建。想象一下,他们都被吹成20gb vm ......
  • 实验变得微不足道。一个快速的流浪者初始精确64,流浪汉,尝试一些东西,流浪汉摧毁,流浪汉,重试一些东西,流浪汉摧毁 - 并完成。

这需要一些纪律,不要手动安装所需的软件包或更新常见的Vagrantfile,但是一旦你完成了工作流程,它就会很棒。我找到了

答案 2 :(得分:2)

我认为Vagrant的主要优势在于它让您拥有一个基本软件包,可以通过更改清单/食谱来重新配置,包括开发,测试,管理,操作等不同用途。分享和启动会更方便。

不太重要,但仍然很好,它可以让你毫不费力地重新开始。我知道你可以在VirtualBox中使用快照,但有时候,在它们之间来回切换会很烦人。使用Vagrant,你可以开始一个盒子,测试一些东西,摧毁它。比你可以重新开始,同样的盒子,测试一下。您可以轻松地启动两次相同的VM,并在每个VM中进行稍微不同的测试,将其销毁。

另请查看答案:https://superuser.com/questions/584100/why-should-i-use-vagrant-instead-of-just-virtualbox 编辑:在我的第一个回答中,我想的是Packer,而不是Vagrant,我的错误。

答案 3 :(得分:1)

我们正在办公室讨论同样的问题......现在,顺便说一下!

当我第一次接触到流浪汉时,我很怀疑,但除了个人意见之外,我能看到的优点是:

  1. 你可以从一个普通的配置开始,自动化许多“分叉”,没有快照链(当你需要删除一个或两个快照时,我可能会说,这是一个很大的痛苦);
  2. 克隆(打包)机器的过程比出口设备快;
  3. 使用vagrant设置机器仍然可以使用VBox iface,因此根据Vagrant的功能制作起点并让队友决定是否使用它是没有问题的;
  4. 如上所述,自动化。
  5. 我们仍在进行一些测试...现在谈论特定的意见,对我而言,重点是复制以及包装和拆包比出口更快的事实。