Я пытаюсь заменить переменные в nginx.j2
файле для генерации nginx.conf
- name: Archive the file # this works
archive:
path: ~/Jenkins_src/nginx.j2
dest: ~/Jenkins_src/nginx.j2.zip
format: zip
remove: False
- name: Basic Template # this fails
template:
src: ~/Jenkins_src/nginx.j2
dest: ~/Jenkins_src/nginx.conf
Сжатие работает, но этап шаблона завершается неудачно:
TASK [update_nginx_conf : archive 1] *******************************************
changed: [nginxhost] => {"archived": ["/home/me/Jenkins_src/nginx.j2"], "arcroot": "/home/me/Jenkins_src/", "changed": true, "dest": "/home/me/Jenkins_src/nginx.j2.zip", "expanded_exclude_paths": [], "expanded_paths": ["/home/me/Jenkins_src/nginx.j2"], "gid": 10001, "group": "me", "missing": [], "mode": "0664", "owner": "me", "size": 2489, "state": "file", "uid": 10001}
TASK [update_nginx_conf : Basic Template Example] ******************************
fatal: [nginxhost]: FAILED! => {"changed": false, "msg": "Could not find or access '~/Jenkins_src/nginx.j2' on the Ansible Controller.\nIf you are using a module and expect the file to exist on the remote, see the remote_src option"}
to retry, use: --limit @/path_to_playbook/ansible/my_vault.retry
PLAY RECAP *********************************************************************
nginxhost : ok=2 changed=1 unreachable=0 failed=1
Как это исправить?
Обновление:
Я следую примеру из https://docs.ansible.com/ansible/latest/modules/template_module.html
- name: Template a file to /etc/files.conf
template:
src: /mytemplates/foo.j2
dest: /etc/file.conf
Я не понимаю, как обстоят дела с моим делом отличается от примера и что делать, если мой шаблон был загружен на управляемую машину.