modules ansible ansible-playbook

modules - command ansible module



¿Cómo copiar archivos con ansible relativamente a la función? (2)

Tengo una tarea de copia dentro de un rol y esperaba que la ubicación del src fuera relativa al rol en sí, no al libro de jugadas que llama a los roles.

¿Cómo hago que esto funcione y use los archivos de myfrole/files de una tarea dentro de myrole/tasks ? No quiero incluir el nombre del rol como parte de la ruta, ya que no tiene mucho sentido. Si lo hago, se romperá si duplico el rol.


No necesitaría especificar la ruta del archivo a copiar, siempre que esté almacenado en el directorio de files .

Así es como debe verse su rol:

my-awesome-role ├───files │ my-awesome-file └───tasks main.yml

Y esta es la forma de llamar a copy en las tasks/main.yml :

- copy: src: my-awesome-file dest: ''{{ some_destination }}''


Si no proporciona ninguna ruta, solo el nombre del archivo, Ansible la seleccionará automáticamente del directorio de files de la función.

Además, desde Ansible 1.8, existe la variable role_path que puede usar en su tarea de copy .

- copy: src: "{{ role_path }}/files/foo.conf" dest: /etc/foo.conf