无法配置非最新的Chef-dk安装

时间:2018-09-20 18:18:17

标签: vagrant chef chefdk

我们的组织尚未升级到Chef 13或14,因此我们必须将所有食谱都固定到版本12。这意味着固定到Chef-dk版本1.6.11。 我正在Vagrant中使用菜谱在centos7虚拟机中旋转并设置了版本,但是它将仅安装最新的Chefdk,这将导致计算机获取Chef14。我在metadata.rb中添加了一个依赖项chef_version ~> 12,因此安装失败,因为已安装Chef 14,但菜谱要求12。

我应该提到该虚拟机适用于Cookbook开发人员,因此我想在其上使用正确版本的Chef。

要安装正确的版本,我缺少什么?

谢谢。

食谱/default.rb: node.default['chef_dk']['version'] = '1.6.11' node.default['chef_dk']['global_shell_init'] = true include_recipe 'chef-dk'

metadata.rb: depends 'chef-dk' chef_version '~> 12.0'

berksfile: cookbook 'chef-dk'

1 个答案:

答案 0 :(得分:0)

失败的部分是“外部” Chef,它是运行配方的东西,而不是ChefDK的安装文件(它永远不会走那么远)。我们一般不建议使用Chef安装ChefDK,因为在同一台计算机上同时安装Chef-client和ChefDK安装程序会导致混乱,因为存在重叠的命令行工具。我会使用更简单的系统(可能是bash脚本或类似的系统)来配置dev VM。我们也确实在Hub上提供了chef/chefdk Docker映像。 (同样,我们也不建议完全在VM内进行菜谱开发,但我想那艘船已经为您服务了)