12

本番 Web サーバーを模倣する仮想マシンを作成しているので、それを新しい開発者と共有して、できるだけ早く最新の状態にできるようにします。Vagrant のドキュメントを確認しましたが、汎用のベース ボックスを使用して Puppet ですべてをプロビジョニングすることと、すべてがインストールおよび構成されたカスタム ボックスをパッケージ化することの利点がわかりません。私が考えることができるのは次のとおりです。

Puppet とカスタム パッケージ ボックスを使用する利点

  • 誰もが簡単に最新の状態に保つ - マニフェストをバージョン管理下に置き、レポを共有できるため、他の開発者は新しい更新を簡単に取得して、パペットを再実行できます。つまり、「vagrant provision」です。
  • 環境はマニフェストに記載されています。
  • 実稼働環境で定義された puppet モジュールを使用して同一の環境を保証する機能。

Puppet を使用する場合とカスタム パッケージ ボックスを使用する場合のデメリット

  • カスタム パッケージ ボックスを単にインストールして構成するよりも、マニフェストの作成に時間がかかります。
  • 初めて仮想マシンを構築する場合、パペットを使用すると、カスタム パッケージ ボックスを単にダウンロードするよりも時間がかかります。

いくつかの重要な詳細が欠けているように感じます。他に考えられることはありますか?

4

2 に答える 2

12

利点:

依存関係は時間の経過とともに変化する可能性があるため、新しいボックスをゼロから構築するには、手動でパッケージを削除するか、ボックスを捨てて手動でインストール プロセスを最初からやり直す必要があります。もちろん、bash やその他の種類のスクリプトを使用してインストールを自動化することもできますが、ネイティブ OS パッケージ マネージャーを呼び出すことになり、選択したオペレーティング システムでのみ実行されることになります。言い換えれば、あなたは箱入りです ;)

私の知る限り、Puppet (Chef など) には、パッケージをインストールするための一般的でオペレーティング システムに依存しない方法が含まれています。つまり、マニフェストを変更せずにさまざまなオペレーティング システムで実行できます。

さらに、それらの同じスクリプトを使用して本番マシンをプロビジョニングできます。つまり、開発マシンと本番マシンは実質的に同一になります。

短所:

OS や運用環境を切り替える予定がない場合に、別の DSL を学ばなければならない。セットアップに費やす時間に見合った利点があるかどうかを判断する必要があります。個人的には、抽象的で反復可能なパッケージ管理/構成戦略を持つことで、将来的に多くの時間を節約できると思いますが、YMMV.

于 2012-10-15T11:31:34.370 に答える