我可以引用 Chef 食谱的多个版本吗?
Can I reference multiple versions of a Chef 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
文件中,我设置了如下依赖关系,希望能引入 cookbook-bar
的 1.0.0
、1.0.1
和 1.0.2
版本.
depends "cookbook-bar", "<= 1.0.2"
但是当我 运行 它时,对于 cookbook-bar
的 1.0.0
和 1.0.1
版本,我仍然得到 CookbookNotFound
错误。
你不能,只有一个版本的说明书会被拉下到节点上,最高匹配依赖约束。
如果您在同一本 运行 中需要一本食谱的多个版本,那您的某个地方就有问题了。
是否可以在一个食谱中引用 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
文件中,我设置了如下依赖关系,希望能引入 cookbook-bar
的 1.0.0
、1.0.1
和 1.0.2
版本.
depends "cookbook-bar", "<= 1.0.2"
但是当我 运行 它时,对于 cookbook-bar
的 1.0.0
和 1.0.1
版本,我仍然得到 CookbookNotFound
错误。
你不能,只有一个版本的说明书会被拉下到节点上,最高匹配依赖约束。
如果您在同一本 运行 中需要一本食谱的多个版本,那您的某个地方就有问题了。