我努力寻找最佳实践或约定,使其更易于维护并让其他人阅读我的 Ansible 剧本/角色。假设我正在创建一个 ini 文件:
[drinks]
fav=lemonade
在 Ansible 中有多种方法可以做到这一点,我将提到两种:ini_file
模块 copy
复制具有相同内容的文件模块 哪种方法更可取?
谢谢。
最佳答案
这取决于数据的来源。数据从何而来?
my_ini_data:
drinks:
- key: fav
val: lemonade
shell> cat conf.ini.j2
{% for section in my_ini_data.items() %}
[{{ section.0 }}]
{% for item in section.1 %}
{{ item.key }}={{ item.val }}
{% endfor %}
{% endfor %}
- template:
src: conf.ini.j2
dest: conf.ini
给shell> cat conf.ini
[drinks]
fav=lemonade
除此之外,看看该模块的作者是个好主意。 template和 copy由 Ansible 核心团队维护。如果您有问题,请查看 open issues第一的。
关于Ansible 最佳实践 - 何时使用 "ini_file"模块而不是 "copy",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64586710/