![Sehr langsames Konvertieren von Host-Variablen in eine Umgebungsdatei mit Ansible](https://rvso.com/image/768904/Sehr%20langsames%20Konvertieren%20von%20Host-Variablen%20in%20eine%20Umgebungsdatei%20mit%20Ansible.png)
Ich habe folgende Aufgabe in 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 }}"
Die Datei wird .env
zeilenweise erstellt, ist aber WIRKLICH langsam. Gibt es einen besseren Weg?
Die .yml-Datei sieht folgendermaßen aus:
env_file:
key1: "value1"
key2: "value2"
Die resultierende Datei hat das Format:
KEY1="value1"
KEY2="value2"
Die Verarbeitung jeder Zeile dauert etwa 20 Sekunden und das summiert sich.
Antwort1
Versuchen Sie, das template
Modul zu verwenden und eine Jinja2-Datei zu schreiben. Dies ist in der Regel schneller als lineinfile
bei der Arbeit mit Schleifen.