【发布时间】:2013-05-03 23:51:27
【问题描述】:
我在不同的食谱中有两个食谱。我需要在第二个配方开始执行之前完全完成第一个配方,因为它放置了第二个需要的一些文件。我在运行列表中将第一个放在第二个之前,但它们似乎是并行执行的。
如何在第一个配方完成后触发第二个配方的执行? (请注意,它们在不同的食谱中。)
【问题讨论】:
-
看起来这是 OpsCode (tickets.opscode.com/browse/CHEF-3376) 的一个未解决问题。您可以为每本食谱创建一个角色并指定一个设置配方吗?这可能会迫使食谱按特定顺序加载,对吧?
-
这可能行得通。另一个临时解决方案,也是我目前正在使用的,是强制第二本食谱依赖于第一本。我不想这样做,因为在我的许多部署中甚至不需要第一个说明书时,将第二个说明书的依赖项添加到第一个说明书中似乎是不优雅的。
-
为了强制依赖,您只是在其他食谱中说
include_recipe otherckbk::recipe1之类的话吗? -
是的,元数据文件中有
depends "otherckbk"。