是否可以通过在厨师的另一个食谱中声明服务来使用通知声明?

时间:2017-02-24 19:02:44

标签: ruby chef chef-recipe

例如。

食谱的目录结构如下:

--my_cookbook |-- recipes |- abc.rb |- xyz.rb |-- attributes |-- templates |- random.xml.erb |-- test

现在让我们假设我们在abc.rb

中有如下资源

... # Line 20 template '/some_location/random.xml' do source 'random.xml.erb' owner 'root' group 'root' mode '0644' notifies :start, 'service[vicious_service]', :immediately end ... # Line 28

现在我们有vicious_service的声明,如下所示:

service 'vicious_service' do action [:enable, :start] end

现在的问题是,我们可以在xyz.rb的某处获得vicious_service的声明吗?或者我们是否必须在abc.rb中声明它?

1 个答案:

答案 0 :(得分:1)

是的,在最初的加载阶段之后,什么食谱对于Chef来说无关紧要。一切都以一个叫做“资源集合”的大数组结束。您可以在https://coderanger.net/two-pass/找到更多详细信息。