按什么顺序执行厨师食谱

时间:2014-04-27 01:11:55

标签: ruby chef chef-recipe cookbook

我正在努力掌握厨师和我的生活,我找不到厨师书的运作方式

如果我有文件结构

chef-repo
├── cookbooks
│   └── test
│       ├── attributes
│       │   ├── default.rb
│       │   └── test.rb
│       ├── files...
│       ├── metadata.rb
│       ├── recipes
│       │   ├── default.rb
│       │   └── test.rb
│       └── templates...
├── roles
│   └── starter.rb
└── Vagrantfile

如何加载属性以及按什么顺序加载?例如,它加载所有属性(default.rb和test.rb),default.rb始终先加载

食谱如何运作?例如,只运行default.rb,所有内容或全部按字母顺序运行。

我找到了http://docs.opscode.com/essentials_nodes_chef_run.html,但它没有解释食谱执行只有节点级执行。任何资源或厨师文档的链接将不胜感激

干杯

1 个答案:

答案 0 :(得分:1)

食谱按照它们在运行列表中出现的顺序运行。只会执行运行列表中出现的配方(以及使用include_recipe包含的任何配方。请注意,每个配方只运行一次,即使它在运行列表中多次出现。

来自cookbook的属性文件按以下顺序加载:

  • 加载了依赖项的属性(即depends
  • 中使用metadata.rb声明的cookbook
  • attributes/default.rb
  • 按字母顺序排列所有其他文件。

请注意,无论其名称如何,都会加载食谱中的所有属性文件。只会加载运行列表中出现的菜谱属性或运行列表中菜谱属性的属性。