Chef cookbook_file 运行 脚本(如果已更新)

Chef cookbook_file run script if updated

有谁知道是否可以根据天气制作脚本资源,或者 cookbook_file 已更新?

依赖,不。但是您可以设置一个通知,以便一个通知触发另一个通知。

cookbook_file 'something'

script 'myscript' do
  ....
  action :nothing
  subscribes :run, 'cookbook_file[something]' #, :immediately
end

如果您取消对 immediately 的注释,它将在 cookbook_file 更新后立即 运行,如果您将其保留注释(或删除),则它将 运行 在大厨的结局运行.

实际上,转念一想,你可以这样做,但它会有点难看。 未测试

r = cookbook_file 'my_file'

script 'myscript' do
  command lazy{r.updated ? "your command" : "no-op"}
end

然而,您的脚本资源将 "execute" 每个厨师 运行,因此您失去了幂等性。