Можно ли ссылаться на несколько версий поваренной книги повара в рецепте, как описано ниже, где рецепт в одной кулинарной книге (foo) ссылается на несколько версий рецепта в другой кулинарной книге (бар), где переменная версии заполняется перед этим блоком?Могу ли я ссылаться на несколько версий поваренной книги повара?
begin
case version
when ""
include_recipe "cookbook-bar"
when "1.0.0"
include_recipe "[email protected]"
when "1.0.1"
include_recipe "[email protected]"
else
raise "Invalid Version: " + version
end
rescue Chef::Exceptions::CookbookNotFound
raise "The Specified Cookbook Was Not Found: [email protected]" + version
end
В metadata.rb
файле я установить зависимость как следующий, мы надеемся, тянуть в версиях 1.0.0
, 1.0.1
и 1.0.2
из cookbook-bar
.
depends "cookbook-bar", "<= 1.0.2"
Но когда я запускаю его я все еще получаю ошибку CookbookNotFound
для версий 1.0.0
и 1.0.1
из cookbook-bar
.
Одним из вариантов использования может быть рецепт «очистить», где я хочу сделать очистку на основе последней версии кулинарной книги, прежде чем продолжить. Единственный вариант в этом случае, чтобы последняя версия рецепта «очистить» знала, как очистить все предыдущие версии? –
Нет, есть много способов, без реального использования трудно сказать, какой из них лучше подойдет. Основной консенсус заключается в том, чтобы избежать таких изменений и обеспечить цель с нуля. – Tensibai