他のクックブックに多くの依存関係があるシェフのクックブックを作成しました。私の主な問題は、他のクックブックのレシピがランダムな順序で実行されることです。これらのレシピの実行を vagrant ファイルで指定すると、次のようになります。
chef.add_recipe "gitlab::core_prereq"
chef.add_recipe "postfix"
chef.add_recipe "gitlab::users_prereq"
chef.add_recipe "rvm::vagrant"
chef.add_recipe "rvm::system"
chef.add_recipe "ohai"
chef.add_recipe "nginx"
chef.add_recipe "gitlab::python_tools_prereq"
chef.add_recipe "gitlab::gitolite_prereq"
chef.add_recipe "gitlab::gitlab_install"
すべてが正常に機能しますが、ユーザーがデフォルトのレシピを含めるだけで、必要なものをすべて正しい順序でインストールできるように、この仕様をレシピに含めたいと思います。
どうすればこれを解決できますか? ロールを使用する必要がありますか? レシピ内で役割を指定できる場合、シェフのドキュメントからはわかりません。