我在ansible中有以下任务:
- name: Set env vars
lineinfile:
path: "~/.env"
mode: 0600
create: yes
line: "{{ item.key|upper }}=\"{{ item.value }}\""
regexp: "^{{ item.key|upper }}="
loop: "{{ env_file |dict2items }}"
.env
它正在逐行创建文件,但它真的很慢。有没有更好的办法?
.yml 文件如下所示:
env_file:
key1: "value1"
key2: "value2"
生成的文件具有以下格式:
KEY1="value1"
KEY2="value2"
每行大约需要 20 秒来处理,而且确实加起来。
尝试使用该
template
模块并编写一个 Jinja2 文件。它往往比lineinfile
处理循环时更快。