最佳答案
在创建新的 Anble 角色时,模板将创建一个 vars和一个 defaults目录,其中包含一个空的 main.yml文件。在定义我的角色时,我可以将变量定义放在其中的任何一个中,它们将在我的任务中可用。
将定义放入 defaults和 vars有什么区别?什么应该进入 defaults,什么应该进入 vars?对同一数据同时使用这两种方法有意义吗?
我知道这两者之间的优先级/优先级有所不同,但我想知道应该把什么放在哪里。
假设我的角色将在目标系统上创建一个目录列表。我想提供要创建的默认目录的列表,但希望允许用户在使用角色时重写它们。
这看起来是这样的:
---
- directories:
- foo
- bar
- baz
我可以把它放在 defaults/main.yml或者 vars/main.yml中,从执行的角度来看,这没有什么不同——但是它应该放在哪里呢?