Chef

chef:knife deps - 如何指定食譜版本

  • February 16, 2018

回复:https ://docs.chef.io/knife_deps.html

使用knife deps –remote選項,我可以查詢我們的廚師伺服器。刀食譜列表 -a將返回所有食譜版本。如何使用Knife deps查詢特定版本的食譜的依賴關係?我嘗試了各種分隔符將版本號附加到食譜名稱,並且我已經嘗試將它們作為單獨的參數。試圖深入研究 ruby​​ 程式碼,發現這很難做到——所有這些 gem 的目的和組織都非常不清楚。

目前沒有答案。試圖奪回我的賞金!

必須使用“刀庫”嗎?因為您可以通過使用“刀搜尋”命令來實現您的目標,如下所示:

knife search -i 'cookbooks:your-cookbook' -a cookbooks.your-cookbook.version

這將為您提供顯示主機名和食譜版本的輸出:

1 items found

server.name.example:
 cookbooks.cs-redis.version: 0.3.2

您可以做的另一件事是使用基本說明書並在具有說明書版本的節點上設置屬性。

例子:

run_context.cookbook_collection.each do |key, cookbook|
 node.set['base_cookbook']['cookbook_versions'][cookbook.name] = cookbook.version
end

然後您可以像這樣查詢節點使用的版本:

knife node show <node-name> -a base_cookbook.cookbook_versions

引用自:https://serverfault.com/questions/895948