我可以参考厨师食谱的多个版本吗?

时间:2015-06-08 13:57:54

标签: chef chef-recipe cookbook

是否可以在如下配方中引用Chef菜谱的多个版本,其中一个食谱中的配方(foo)引用另一个食谱(bar)中的配方的多个版本,其中在此块之前填充版本变量?

begin
    case version
    when ""
        include_recipe "cookbook-bar"
    when "1.0.0"
        include_recipe "cookbook-bar@1.0.0"
    when "1.0.1"
        include_recipe "cookbook-bar@1.0.1"
    else
        raise "Invalid Version: " + version
    end
rescue Chef::Exceptions::CookbookNotFound
    raise "The Specified Cookbook Was Not Found: cookbook-foo-bar@" + version
end

metadata.rb文件中,我设置了如下所示的依赖关系,希望能够提取1.0.0的{​​{1}},1.0.11.0.2版本。

cookbook-bar

但是当我运行它时,depends "cookbook-bar", "<= 1.0.2" 的版本CookbookNotFound1.0.0仍会出现1.0.1错误。

1 个答案:

答案 0 :(得分:3)

您不能在节点上只下载一个版本的食谱,最高匹配依赖性约束。

如果你需要在同一次运行中使用多个版本的食谱,那么你就会遇到问题。