Ansible

使用ansible將主機變數轉換為env文件真的很慢

  • July 27, 2021

我在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處理循環時更快。

引用自:https://serverfault.com/questions/1070751