5

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

Pro: 自动创建新的 VirtualBox VM(为新用户)的过程。

缺点: 通过要求新用户学习新工具来取消我发现的唯一专业人士。

学习曲线比实际复制 VDI 和配置新的 VirtualBox VM 使用它要花费更多时间。(它也不是那么好,但仍然比学习新工具要高。)

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

也许我在这里遗漏了一点,任何人都可以启发我吗?

4

4 回答 4

8

我只能从我自己的经验中说:学习曲线非常值得。

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

当然,您可以复制 VDI 等等,但更容易——在我看来——执行一些命令行程序,一切就绪。复制 VDI 或其他类型的图像对我来说似乎很脏。

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

于 2012-05-04T20:04:46.197 回答
5

vagrant 的优势远不止这些:

  • 100% 可重现的环境,无处不在。
  • 可以存储在源代码控制 (git/svn/...) 中并进行版本控制。
  • 节省磁盘空间。这在笔记本电脑上可能很重要,我的系统上现在有 92 个 Vagrantfiles,并不是全部创建的。想象一下它们都是完整的 20GB 虚拟机......
  • 实验变得微不足道。一个快速的 vagrant init 精确 64,vagrant up,尝试一些东西,vagrant destroy,vagrant up,重试一些东西,vagrant destroy - 完成。

这样做需要一些纪律,不要手动安装所需的包或更新常见的 Vagrantfile,但是一旦你制定了工作流程,它简直太棒了。我发现

于 2014-02-14T15:20:46.277 回答
2

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

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

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

于 2013-12-13T02:28:26.603 回答
1

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

当我第一次接触 vagrant 时,我是持怀疑态度的,但我能看到的优势,超出个人意见的是:

  1. 您可以从通用配置开始并自动化许多“分叉”,而无需快照链接(我可能会说,当您需要删除一个或两个快照时会很痛苦);
  2. 克隆(包装)机器的过程比出口设备快得多;
  3. 使用 vagrant 设置机器仍然可以使用 VBox iface,所以根据 Vagrant 的特性做一个起点,让队友决定是否使用它是没有问题的;
  4. 如前所述,自动化。

我们仍在进行一些测试...现在谈论特定意见,对我而言,重点是复制以及打包和拆包比导出更快的事实。

于 2013-01-31T17:45:22.937 回答