Vagrant 为流浪汉寻找一些好的做法

Vagrant 为流浪汉寻找一些好的做法,vagrant,puppet,Vagrant,Puppet,我一直在玩流浪汉和木偶,我想建立一个团队和我可以使用的环境。我和Vagrant没有技术问题,一切都很清楚,在那里工作,但我确实有一些逻辑问题: 每个人都建议每个项目使用一个盒子。这真的有必要吗?我们使用相同的软件堆栈执行多个项目。我真的不明白为什么我们不应该把所有的项目都放在一个盒子里。而且,当我们进行维护和bug修复时,在项目之间来回切换是非常困难的 如何处理数据库?我们正在使用MySQL数据库。我们如何确保不必每次“漫游”新框时都导入.sql文件?或者我只是让我的箱子挂起来,而不是毁掉它 这

我一直在玩流浪汉和木偶,我想建立一个团队和我可以使用的环境。我和Vagrant没有技术问题,一切都很清楚,在那里工作,但我确实有一些逻辑问题:

  • 每个人都建议每个项目使用一个盒子。这真的有必要吗?我们使用相同的软件堆栈执行多个项目。我真的不明白为什么我们不应该把所有的项目都放在一个盒子里。而且,当我们进行维护和bug修复时,在项目之间来回切换是非常困难的

  • 如何处理数据库?我们正在使用MySQL数据库。我们如何确保不必每次“漫游”新框时都导入.sql文件?或者我只是让我的箱子挂起来,而不是毁掉它


  • 这两个问题在某种程度上取决于您的用例:

  • 如果你的项目是密切相关的,说它们都是wordpress开发的,那么确定一个框就足够了。但对于需要不同代码库、env支持的项目,您应该能够编写简单的puppet模块,使您能够在几分钟内快速地
    漫游到一个新的框中

  • 不确定您的用例,但即使您
    vagrant-halt
    ,当您下次启动
    vagrant-up
    时,mysql中的数据库仍然存在。如果您谈论的是Wagrant destroy
    ,那么您应该能够使用木偶脚本在创建新框时导入(即
    vagrant init
    )。在
    文件中查看puppet的文档,您将看到如何将.sql文件复制到vagrant中并运行mysql导入


  • 有没有可能从一台服务器添加一个MySQL服务器的主机连接?谢谢你的回答,这是我的猜测。至于第二个问题,我正在考虑按照爪哇博士的要求去做。我猜这是可能的,但这意味着我再次依赖我的本地机器进行开发,而使用Vagrant的全部目的是lost@MarkoLekić只要不禁用vagrant上的网络,这应该是可能的。一个解决方案是专门为数据库创建一个漫游框,并让您的团队设置到它的连接。请注意,您可能需要一些端口转发解决方案来允许远程访问主机的虚拟机。