2

に必要なクックブック リポジトリを複製するVagrantfilevagrant upがあります。問題は、これも で行うことvagrant destroyです。「構築前」コマンドと「破壊前」コマンドを定義する方法はありますか、それともパラメーターに関係なく、vagrant が呼び出されるたびに Vagrantfile が完全に実行されますか?

4

2 に答える 2

4

破棄フックについてはわかりませんが、マシン ID の存在を確認することで、Vagrantfile 内の初回および破棄後のアクションを検出できます。

File.exists?(".vagrant/machines/default/virtualbox/id")

これを使用して、マシンの公開キーをドロップします。これにより、安全な SSH キーを自動的にセットアップできます。

if ! File.exists?(".vagrant/machines/default/virtualbox/id")
    # Then this machine is brannd new.
    system "cp #{KEYS_DIR}/workstation.pub #{OUR_DIR}"
end
于 2013-12-31T16:13:50.270 に答える
1

独自のクックブックの依存関係マネージャーを作成する代わりに、Berkshelfまたはlibrarianを使用することを強くお勧めします。どちらにも、探している機能をすでに備えている Vagrant 用のプラグインがあります。

私は司書を使い始めました (より単純で、1 つのことをうまく行うことに重点を置いています) が、Berkshelf に切り替えました (ナイフ コマンドにブレードを追加するようなものです)。

于 2013-09-21T11:34:03.683 に答える