![ansible을 사용하여 호스트 변수를 env 파일로 변환하는 속도가 정말 느립니다.](https://rvso.com/image/768904/ansible%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%98%B8%EC%8A%A4%ED%8A%B8%20%EB%B3%80%EC%88%98%EB%A5%BC%20env%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EB%B3%80%ED%99%98%ED%95%98%EB%8A%94%20%EC%86%8D%EB%8F%84%EA%B0%80%20%EC%A0%95%EB%A7%90%20%EB%8A%90%EB%A6%BD%EB%8B%88%EB%8B%A4..png)
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
루프를 처리할 때보 다 더 빠른 경향이 있습니다 .