
我在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 秒來處理,加起來確實如此。
答案1
嘗試使用該template
模組並編寫 Jinja2 檔案。它往往比lineinfile
處理循環時更快。