关于Vagrant使用和配置工具的清晰度

时间:2014-09-17 00:55:54

标签: vagrant vagrantfile

好的,所以我有点迟到了Vagrant乐队的马车,但我觉得这是我的时间。

简要背景:我已经成为一名自由开发人员已经有一段时间了,正在开发基于Magento和Drupal的解决方案,并且最终收集了足够的需求以保证建立团队的必要性。以前,每当我开始开发任何新项目时,我都会使用在Virtualbox中克隆预先配置的基本VM,并使用它。当然,在我开始实际开发之前,还有其他配置要做。因此,每个项目的Web文件都位于Ubuntu VM上的/var/www/projectname内。

现在我已经阅读了为什么我应该是Vagrant,特别是考虑到我现在有一个由4名开发人员组成的团队,但是我很感激我对以下问题的任何反馈:

主持人注意:我知道这并不是一个问题,所以请告知是否可以将其转换为维基,因为我确信对此的反馈会对像我这样的人有所帮助。< / em>的

我仍然正在阅读Vagrant文​​档,所以请善待......提前回答问题!

  1. 我现在在Mac上工作。如果我使用Parallels是否重要,如果我们需要共享或协作项目,另一位开发人员在Windows上使用VirtualBox?
  2. 当我为现有项目发出命令vagrant up时,它会像在VirtualBox中那样启动VM,还是会重新创建VM?
  3. 例如,Ubuntu中的命令vagrant halt是否与发布sudo poweroff相同?
  4. 我目前使用PhpStorm及其SFTP功能进行项目文件同步,并选择将远程服务器(VM)上的某些文件排除在导入和同步之外......我是否可以使用Vagrant文​​件夹指定相同的文件共享?
  5. 我可以轻松地压缩或存档Vagrant VM,将其移动到文件服务器,然后在需要时“重新导入”吗? (示例错误修复或新功能增强)
  6. 我们使用什么方法为常见项目轻松配置VM?我们应该使用 Puppet,Chef,Puphpet还是Salt ?我已经看到 Puphpet 提供了一个很好的GUI来创建vagrantfile我确信一旦生成,我们就可以为将来的项目进行自定义。在最基本的层面上,我们需要确保将某些应用程序安装到服务器上(zip,phpmyadmin,OpenSSL等),某些PHP设置,PHP和PEAR模块以及Apache设置。我已经为Magento项目以及Drupal项目设置了基本虚拟机。
  7. 编辑:我还应该添加我用来在VirtualBox中启用主机适配器(在Windows上),在Ubuntu中配置VHost,然后更新我的主机{ {1}}文件类似于hosts。所以我不确定Port Forwarding是否会更好用?我不是很清楚,我必须承认。

    就像我说的 - noob问题!但是,我非常感谢对这些问题的任何反馈。我最深切的谢意!

1 个答案:

答案 0 :(得分:1)

你要求的大多数是主观的,所以常识和经验是最好的工具。

  1. 我建议所有团队成员使用相同的提供商(并非官方支持并行),并且随时可以使用virtualbox。由提供商提供的基本框可能会有轻微差异,您永远不会知道。

  2. Vagrant会同样启动vm,但是vagrant也会做其他事情,例如配置网络,主机名,共享文件夹等。不完全相同。最大的力量在于能够破坏环境并将其恢复到干净的配置状态。

  3. 基本上,是的。

  4. 是的,您的流浪虚拟机就像您自己的迷你云一样。您将与服务器进行交互,类似于与外部盒交互的方式。

  5. 是的,简单的答案是它叫做打包,你可以分享结果.box。但是,最好将基本框和配置脚本保留在CM下,以便您可以根据需要进行重建和修改。

  6. 对于供应商而言,我认为这取决于您的经验以及您对供应商语言的熟悉程度以及您希望投入多少资源来学习它们。查看供应商支持,了解适合您的需求和预算的内容。根据我的经验,Chef有一个非常陡峭的学习曲线,但内置了很多想法。大多数供应商拥有广泛的可用安装“脚本”库。

  7. 可以在vagrant中处理主机适配器。

    边做边学,我建议您查看流浪文档的目录(navbar)并尝试每个步骤。然后做出决定。

    那是我的2美分。希望这有帮助!