0

数週間前、私は Vagrant に出会い、恋に落ちました。現在、新しいプロジェクトで試していますが、ローカルでうまく機能しています。私は Chef Solo を使用してボックスのすべてのソフトウェアをビルドし、Berkshelf を使用してクックブックを管理しています。

私が疑問に思っているのは、各プロジェクトの開発、ステージング、および本番サーバーを誰もがどのように管理しているかということです。私はローカルでこのプロジェクトに取り組んでいますが、プロジェクトが完了したら、開発サーバーと、最終的にはステージング サーバーと運用サーバーを用意したいと考えています。

Vagrant AWS Pluginを使用して Amazon の Ec2 で Vagrant を正常にセットアップしましたが、Vagrant ではvagrant upローカル ボックス開発ボックスを同時に使用できないようです。1 つしか使用できません。

基本的にこの機能を提供する小さな bash スクリプトを作成しました。走れる

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

そして、そのボックスの構成専用の Vagrantfile を探して、指定した各ボックスをビルドします。machines各vagrantファイルが存在するディレクトリ名があります。私が持っているディレクトリ構造は次のようになります

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

これは賢明な解決策ですか?

1 つのプロジェクトで複数のサーバーをどのように管理していますか。すべての構成を 1 つの Vagrantfile に入れることはできますか?

4

1 に答える 1

2

絶対にしないでください。Vagrant はそのために構築されておらず、壊れます。たとえば、別のワークステーションから本番インスタンスを操作する必要がある場合は、幸運を祈ります :-( サーバーのプロビジョニングを管理するためのツールを探している場合、間違いなくいくつかのツールを選択できますが、試すツールがあります。

  • CloudFormation (および OpenStack の Heat)
  • テラフォーム
  • シェフメタル

1 つ目は少し見苦しいですが、AWS ベース (または OpenStack) を使用している場合は非常に強力です。後者の 2 つは非常に若いですが、有望に見えます。

于 2014-09-29T20:24:53.703 に答える