1

クックブックで、シェフのレシピが Macintosh マシンにプロビジョニングされているかどうかを確認するにはどうすればよいですか?

4

2 に答える 2

5

より良い解決策は、platform_familyチェックを使用することです。OS X と OS X サーバーの両方で動作します (出典OHAI-345 )。

cookbook_file "/etc/nginx/nginx.conf" do
  source "nginx.conf"
  not_if platform_family?("mac_os_x")
end

さらに良い解決策は、すべての作業をシェフに任せることです。単一のcookbook_file宣言を使用します。

cookbook_file "/etc/nginx/nginx.conf" do
  source "nginx.conf"
end

そして、プラットフォーム固有のファイルをクックブックに同梱します。

  • mycookbook/files/default/nginx.conf
  • mycookbook/files/mac_os_x/nginx.conf
  • mycookbook/files/ubuntu/nginx.conf
  • ..
于 2013-08-23T22:36:33.373 に答える
1

使用する

node[:platform] == "mac_os_x" 

チェックする。

not_if次のようなブロックを実行できます。

cookbook_file "/etc/nginx/nginx.conf" do
     source "nginx.conf"
     not_if { node[:platform] == "mac_os_x" }
end
于 2013-08-23T21:19:54.327 に答える