0

几周前,我遇到了流浪者并坠入爱河。我目前正在一个新项目上尝试它,它在本地运行良好。我正在使用 Chef Solo 构建所有盒子的软件,并使用 Berkshelf 来管理食谱。

我想知道的是每个人如何管理每个项目的开发、登台和生产服务器。当我在本地处理这个项目时,我想拥有一个开发服务器,并在项目完成后最终登台和生产服务器。

我已经使用Vagrant AWS Plugin成功地使用 Amazon 的 Ec2 设置了 Vagrant ,但看起来 Vagrant 并没有让你同时vagrant up拥有一个本地盒子一个开发盒子,你只能拥有一个。

我写了一个小 bash 脚本,基本上给了我这种能力。我可以跑

$ vagrant up local
$ vagrant up development
$ vagrant up staging
$ vagrant up production

它会通过查找专用于该框配置的 Vagrantfile 来构建我指定的每个框。我有一个目录名称machines,每个流浪文件都在其中。我的目录结构看起来像这样

- app/
- public/
- vagrant/
    - attributes/
    - machines/
      - local.rb
      - development.rb
      - staging.rb
      - production.rb
    - recipes/
    - templates/

这是一个明智的解决方案吗?

您如何为单个项目管理多个服务器。所有配置都可以存在于一个 Vagrantfile 中吗?

4

1 回答 1

2

请永远不要这样做。Vagrant 不是为它而建的,它崩溃。例如,如果您需要从不同的工作站操作生产实例,祝您好运:-( 如果您正在寻找管理服务器配置的工具,那肯定是一些微不足道的选择,但有一些工具可以尝试:

  • CloudFormation(以及 OpenStack 的 Heat)
  • 地形
  • 厨师金属

如果您都是基于 AWS(或 OpenStack)的,第一个有点笨拙但非常强大。后两者都很年轻,但看起来很有前途。

于 2014-09-29T20:24:53.703 回答