オプションにしたいシェフのレシピのリソースがあります。つまり、レシピが実行され、リソースが失敗した場合でも、他のすべてを続行したいということです。もちろん、そのリソースで障害が発生したことを知りたいのですが、それは重要なリソースではなく、それに依存するものがないため、残りの実行を続行したいだけです.
私は、依存関係を明示的に宣言する必要がある Puppet で作業することに慣れています。リソースは、依存関係が失敗した場合にのみスキップされます。
なぜこれが本当の質問ではないとして閉じられたのか (FAQ を読んだ後でも) はわかりませんが、私が求めていることを説明するためにいくつかのサンプル コードを追加します。
私はシェフを使用して開発環境をセットアップしていますが、その一部は、いくつかの git リポジトリを複製して配置することです。それらに依存するものは何もありません。また、一部の開発者がアクセスできないプライベート リポジトリが存在することもあります。複製に失敗した場合は、他のリソースを引き続き実行してほしい。
したがって、次のリソースの場合:
["foo", "bar", "baz"].each do |repo|
git repo do
repository "git@github.com/example/#{repo}"
reference "master"
action :sync
depth 1
user 'dev'
group 'dev'
destination "#{node[:src_dir]}/#{repo}"
end
end
これを実行しているユーザーが foo のクローンを作成する権限を持っていない場合、foo は失敗しますが、bar と baz は引き続きクローンを作成します。そんなことがあるものか?