Chef+Kitchen+Vagrantを使用してこれを解決できました
これが私のラッパーです: https://github.com/elitechance/opsworks-cookbooks-wrapper
以下、テスト方法
git クローンhttps://github.com/elitechance/opsworks-cookbooks-wrapper.git
git クローンhttps://github.com/aws/opsworks-cookbooks.git
cd opsworks-cookbooks-wrapper
cp .kitchen.sample.yml .kitchen.yml
cp Berksfile.sample Berksfile
cp メタデータ.サンプル.rb メタデータ.rb
最後のコマンドは、OpsWorks NodeJs セットアップ レシピをシミュレートします。詳細については、を参照.kitchen.sample.yml
してください。
$ chef exec kitchen setup
既知のバグ
を初めて実行する$ chef exec kitchen setup
と、次のようなエラーが表示されます。
Running handlers: [2016-04-08T17:08:34+00:00] ERROR: Running exception handlers Running handlers complete [2016-04-08T17:08:34+00:00] ERROR: Exception handlers complete Chef Client failed. 01 分 02 秒で 43 のリソースが更新されました [2016-04-08T17:08:34+00:00] 致命的: スタックトレースが /tmp/kitchen/cache/chef-stacktrace.out にダンプされました [2016-04-08T17:08:34] +00:00] FATAL: バグレポートを提出する場合は、stacktrace.out ファイルの内容を提供してください [2016-04-08T17:08:34+00:00] ERROR: ruby_blockFallback for remote_file[/tmp/rubygems-2.2 .2.tgz] にエラーがありました: NoMethodError: remote_file/tmp/rubygems-2.2.2.tgz にエラーがありました: NoMethodError: undefined method `to_sym' for [:create]:Array [2016-04-08T17:08:34 +00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef 実行プロセスが正常に終了しませんでした (終了コード 1)
もう一度実行してください:
$ chef exec kitchen setup