私は Vagrant + Berkshelf + Chef Solo を使用して、開発マシンで本番環境の AWS OpsWorks ボックスの動作をミラーリングしています。
vagrant ボックスを問題なく起動できますが、プロビジョニングが完了したら、プロビジョニング中に使用したクックブックから別の Chef レシピを実行できるようにしたいと考えています。OpsWorks の動作をエミュレートしようとしているので、これを実行したいと思います。OpsWorks ではdeploy
、ボタンを押すだけでレシピを実行できます。vagrant ボックス内で vagrant またはchef-solo を使用して、同じレシピを実行できるようにしたいと考えています。
solo.rb
実行したいさまざまなオンデマンド レシピのさまざまな構成ファイルを構築するプロビジョニング プロセスにレシピを追加することで、これを解決できると思います。これらの構成ファイルは、Vagrant/Berkshelf cookbooks_path
(これは/tmp/vagrant-chef-1/
私の場合) を指し、実行リストを適切なレシピに設定します。これらの構成ファイルは、chef-solo によって使用されます。
誰かが以前にこの問題をよりエレガントな方法で解決したような気がします。これを行うより良い方法はありますか?
そうでない場合、誰かが Vagrant 内またはレシピ内からクックブックのパスを見つける方法を知っているので、構成ファイルにハードコード/tmp/vagrant-chef-1/
する必要はありませんか?solo.rb