仅在完成另一个配方后执行厨师配方

时间:2012-10-16 18:25:30

标签: chef chef-recipe

我在不同的食谱中有两个食谱。我需要在第二个配方开始执行之前完成第一个配方,因为它放置了第二个需要的文件。我在运行列表中将第一个放在第二个之前,但似乎它们并行执行。

第一个食谱完成后如何触发第二个食谱的执行? (请注意,它们位于不同的食谱中。)

1 个答案:

答案 0 :(得分:1)

您可以发布一段代码吗?我的猜测是你正在使用LWRP(可能是内置的),并且它们都会在运行结束时被执行。这听起来很熟悉吗?

代码如:

cookbook_file node['.NET']['FilePath'] do
  source node['.NET']['FileName']
  action :create
end

可以转换为:

configFile = cookbook_file node['.NET']['FilePath'] do
  source node['.NET']['FileName']
  action :nothing
end
configFile.run_action(:create)

这意味着在代码的那一部分强制执行(即当我们解析配方时)