【发布时间】:2015-05-21 13:29:24
【问题描述】:
在创建新的 Ansible 角色时,模板会同时创建一个 vars 和一个 defaults 目录以及一个空的 main.yml 文件。在定义我的角色时,我可以在其中任何一个中放置变量定义,它们将在我的任务中可用。
将定义放入defaults 和vars 有什么区别?什么应该进入defaults,什么应该进入vars?将两者用于相同的数据是否有意义?
我知道两者之间的优先级/优先级有所不同,但我想了解应该去哪里。
假设我的角色将在目标系统上创建一个目录列表。我想提供一个要创建的默认目录列表,但希望允许用户在使用角色时覆盖它们。
这就是它的样子:
---
- directories:
- foo
- bar
- baz
我可以把它放在defaults/main.yml 或vars/main.yml 中,从执行的角度来看,它不会有任何区别 - 但它应该放在哪里?
【问题讨论】:
标签: ansible