2015-03-03 54 views
0

由於我是新來的廚師所以要主動幫助secenario是傳遞變量的廚師長的食譜,以便我們可以上傳,在廚師服務器的食譜,它西港島線與自動廚師客戶端同步。 如何將變量傳遞給廚師食譜以及它如何與廚師客戶端同步傳遞變量廚師的食譜和同步

+0

廚師使用屬性來存儲食譜使用的值,更多關於它們的信息可以在這裏找到https://docs.chef.io/attributes.html。如果您遇到更窄的問題,請更新您的問題,以便我們爲您提供幫助。 – rastasheep 2015-03-04 08:20:19

+0

我們已經用這種docs.chef.io/attributes.html.....attribute意味着值變量...這裏的問題是我們要傳遞變量沒有的值和西港島線在運行時通過。 – 2015-03-04 08:58:06

+0

其實廚師不會那樣工作,在實際的廚師跑之前,食譜,角色或環境應該提供價值觀。還有就是當你需要從節點的文件內容讀取數值一些邊緣情況,但它必須在前面定義,這樣就可以實現像自動化和冪等廚師的所有功能。 – rastasheep 2015-03-04 09:02:17

回答

-1

廚師使用變量的屬性。您可以在食譜內設置默認屬性。這裏是一個

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[[email protected]]', 
    'recipe[cookbook1::[email protected]]', 
    'recipe[cookbook2::recipe2]' 
)` 

運行列表的第一行,你可以看到我不指定一個配方,這將調用cookbook1的默認配方。我也在這裏指定2.0.9版本的食譜。

在運行列表的第二行,我指定它運行recipe1。

運行列表中的第3行指定從最新版本的cookbook2運行recipe2。