Chef infra 我可以参考厨师烹饪手册的多个版本吗?

Chef infra 我可以参考厨师烹饪手册的多个版本吗?,chef-infra,chef-recipe,cookbook,Chef Infra,Chef Recipe,Cookbook,如果一个食谱(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_reci

如果一个食谱(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
文件中,我设置了如下依赖项,希望能够引入
cookbook bar
1.0.0
1.0.1
1.0.2

depends          "cookbook-bar", "<= 1.0.2"

依赖于“cookbook bar”,“您不能,节点上只会下拉一个版本的cookbook,最高版本与依赖约束匹配


如果您在同一次运行中需要多个版本的食谱,您可能在某个地方遇到了问题。

一个用例可能是“清理”食谱,在继续之前,我希望根据食谱的最后一次运行版本进行清理。在这种情况下,唯一的选择是使用最新版本的“清理”“配方知道如何从所有以前的版本中清理?不,有很多方法,没有真正的用例,很难判断哪一个更适合。主要的共识是避免这种变化,从头开始制定目标。