如何在配方中设置/自定义特定配置的属性?

如何在配方中设置/自定义特定配置的属性?

我开始使用 chef 自动为构建农场设置构建机器。我们这里的一些依赖项是特定于机器的(例如专有编译器的许可证密钥),其他配方属性可以通过可自定义获得(例如,在哪里可以找到未公开的安装程序)。

现在,所有这些设置都硬编码在attributes.rb中,例如:

default[:mkl][:serial] = "XXXX"

并且我在配方本身中使用了 default[:mkl][:serial] 。

如果可能的话,我想要一个不需要 chef 服务器的解决方案(我正在使用 chef-solo,目前服务器的开销是不合理的)。

答案1

我设法按照如下方式进行操作:

  • 首先,在 solo.json 文件中进行如下设置:

    {                                                                                                   
      "mkl": {                                                                                        
       "license": "XXX",                                                          
      },
      "run_list": ["recipe[mkl::default]"
    }
    
    • 然后使用 -j solo.json 运行 chef-solo 命令。

我的错误是将“mkl”部分放在override_attributes里面。

相关内容