如果更新,Chef cookbook_file运行脚本

时间:2015-02-27 15:03:49

标签: chef

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

1 个答案:

答案 0 :(得分:2)

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

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

但是,您的脚本资源将执行"执行"每个厨师都跑,所以你失去了幂等。