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/文件/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 回答