关闭。这个问题是opinion-based .它目前不接受答案。
想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.
7年前关闭。
Improve this question
开发人员应该如何根据 IDE 和 git/svn/hg 客户端的放置来管理多个 vagrant box。有两种方法:
1 - 将 git/svn/hg 客户端和 IDE (emacs, vim, ...) 放在主机操作系统中,并使用 SSH 或同步文件夹连接到盒子以编辑/提交代码。
2 - 把所有东西都放在 Vagrant 盒子里。
我想知道哪种方法更受欢迎,每种方法都有哪些优点/缺点。
最佳答案
我想说这在很大程度上取决于个人偏好、您通常的工作流程以及您使用 Vagrant 的目的。如果您在 Chef 或 puppet 上工作,您可以使用诸如 kitchen 或包含的配置程序 (https://docs.vagrantup.com/v2/plugins/provisioners.html) 之类的框架,而无需处理 VM 内部的任何内容。
我个人的偏好是为代码使用同步文件夹(可以在我的 $HOME 中的任何位置),在主机操作系统上编辑它们并在 VM 中对其进行测试。根据具体情况,可能意味着有一个终端用于 vim,另一个终端带有 vagrant ssh session ,大多数时候使用带有 'tail -f logfile' 等的 tmux。在其他情况下,我通常使用 vagrant provision
就足够了通过执行 Vagrantfile 中定义的(shell)命令来实现功能。
个人我更喜欢仅将 Vagrant 框用于实际工作任务。对我来说,使用共享/同步文件夹的好处是,作为开发人员,我可以使用这些工具来编写/修改我想要的文件,而无需在 VM 上安装编辑器、工具(例如代码样式)或点文件以及频繁执行vagrant destroy -y && vagrant up
因为我更喜欢干净的环境以避免前面步骤的任何冲突。但这是我个人的偏好。您可以随时修改 VM 基础框并将其保存,以避免重复这些安装步骤。
如果您想与同事分享“黄金形象”或将其提供给新员工,那么包含所有所需工具的预构建基础箱有其自身的优势。如果您需要为所有库或编译器安装开发人员工具,这将特别有用。但即便如此,我个人还是更喜欢我在 VM 工作流程之外的 :)
关于git - 多个 Vagrant 盒的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27707923/