因为我是厨师的新手,所以需要帮助。方案是将变量传递给厨师食谱,以便我们可以在厨师服务器中上传这些食谱,并且它将自动与厨师客户同步。 如何将变量传递给厨师食谱以及它如何与厨师客户同步
答案 0 :(得分:-1)
Chef使用变量属性。您可以在cookbook中设置默认属性。这是
的一个例子http://www.thegeekstuff.com/2016/06/chef-cookbook-directory-structure/
我通常在我的角色中设置我的运行列表,然后在我的环境文件中设置覆盖属性。
示例环境ruby文件:
`name "example_environment"
description "example_environmentfile"
override_attributes({
'cookbook1' => {
'database_password' => "password1",
'server_password' => "password2"
}
})`
这是一个红宝石角色的例子:
`name 'example_role'
description 'example role with run list'
run_list(
'recipe[cookbook1@2.0.9]',
'recipe[cookbook1::recipe1@2.0.9]',
'recipe[cookbook2::recipe2]'
)`
在运行列表的第一行,您可以看到我没有指定配方,这将调用cookbook1的默认配方。我还在这里指定版本2.0.9的食谱。
在运行列表的第二行,我指定它来运行recipe1。
运行列表的第3行指定从最新版本的cookbook2运行recipe2。