tutorial tower source open logo hat ansible

tower - Ansible: ¿Cómo cambiar el directorio activo en Ansible Playbook?



ansible tutorial (3)

Esta pregunta estaba en los resultados de cuando intentaba averiguar por qué ''shell'' no estaba respetando mis entradas chdir cuando tuve que volver a Ansible 1.9. Así que estaré publicando mi solución.

tuve

- name: task name shell: cmd: touch foobar creates: foobar chdir: /usr/lib/foobar

Funcionó con Ansible> 2, pero para 1.9 tuve que cambiarlo a.

- name: task name shell: touch foobar args: creates: foobar chdir: /usr/lib/foobar

Sólo quería compartir.

- name: Go to the folder command: chdir=/opt/tools/temp

Cuando ejecuto mi libro de jugadas, obtengo:

TASK: [Go to the folder] ***************************** failed: [host] => {"failed": true, "rc": 256} msg: no command given

Cualquier ayuda es muy apreciada.


No hay concepto de directorio actual en Ansible. Puede especificar el directorio actual para una tarea específica, como lo hizo en su libro de jugadas. La única parte faltante fue el comando real para ejecutar. Prueba esto:

- name: Go to the folder and execute command command: chdir=/opt/tools/temp ls


Si necesita una consola de inicio de sesión (como para Bundler), entonces tiene que hacer el comando de esta manera.

command: bash -lc "cd /path/to/folder && bundle install"