![有没有办法从厨师菜谱中查询运行列表?](https://linux22.com/image/689446/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E4%BB%8E%E5%8E%A8%E5%B8%88%E8%8F%9C%E8%B0%B1%E4%B8%AD%E6%9F%A5%E8%AF%A2%E8%BF%90%E8%A1%8C%E5%88%97%E8%A1%A8%EF%BC%9F.png)
我想要一个条件,仅当运行列表中没有其他菜谱时,才在 Chef 菜谱中执行某项操作,另一个条件,仅当运行列表中没有特定菜谱时,才为真。有办法做到这一点吗?
另外,最佳实践对这种逻辑有何看法?是否应该出于某种原因避免这种情况?
答案1
一般来说,这种事情可能非常脆弱,因为如果你使用include_recipe
,事情可能会对顺序很敏感。但话虽如此,你可以这样做:
if node['recipes'].include?('foo::bar')
# Do something ...
end
我想要一个条件,仅当运行列表中没有其他菜谱时,才在 Chef 菜谱中执行某项操作,另一个条件,仅当运行列表中没有特定菜谱时,才为真。有办法做到这一点吗?
另外,最佳实践对这种逻辑有何看法?是否应该出于某种原因避免这种情况?
一般来说,这种事情可能非常脆弱,因为如果你使用include_recipe
,事情可能会对顺序很敏感。但话虽如此,你可以这样做:
if node['recipes'].include?('foo::bar')
# Do something ...
end