是否可以与厨师' include_recipe'附上食谱版?

时间:2015-07-24 11:30:40

标签: chef recipe

我知道我们可以在运行食谱时加入版本

    chef-client -o "recipe[mycookbook@0.1.1]"

在执行include_recipe

时如何添加版本
    include_recipe "apache2::mod_ssl"@version?

1 个答案:

答案 0 :(得分:5)

使用Chef Recipe DSL中的include_recipe无法做到这一点。您提供特定版本的选项正在使用:

  • 角色或节点上的运行列表,例如"recipe[mycookbook@0.1.1]"
  • 固定食谱的环境,例如:

    cookbook_versions({     " nginx的" => "< = 1.1.0",     "易于" => " = 0.0.1" })

  • 食谱中的metadata.rb文件,例如depends 'apt', '1.2.3'

由于您正在寻找固定食谱中的版本,为什么不在metadata.rb中声明?这将对您正在使用的include_recipe语句产生直接影响,强制包括使用元数据中声明的版本。

在您的示例中,那将是:

depends 'mycookbook, '0.1.1'

或者在metadata.rb文件中使用apache示例:

depends 'apache2', 'version'

然后在你的食谱中:

include_recipe "apache2::mod_ssl"