web-dev-qa-db-fra.com

Ansible: Comment changer Active Directory dans Ansible Playbook?

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

Lorsque je lance mon livre de jeu, je reçois:

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

Toute aide est très appréciée.

54
indolent

Il n'y a pas de concept de répertoire courant dans Ansible. Vous pouvez spécifier le répertoire en cours pour une tâche spécifique, comme vous l'avez fait dans votre playbook. La seule partie manquante était la commande à exécuter. Essaye ça:

- name: Go to the folder and execute command
  command: chdir=/opt/tools/temp ls
77
Marcin Płonka

Cette question figurait dans les résultats car lorsque j'essayais de comprendre pourquoi "Shell" ne respectait pas mes entrées chdir alors que je devais revenir à Ansible 1.9. Je vais donc poster ma solution.

J'ai eu

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

Cela a fonctionné avec Ansible> 2, mais pour 1.9 je devais le changer en.

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

Je voulais juste partager.

13
Josh Beauregard

Si vous avez besoin d'une console de connexion (comme pour bundler), vous devez alors exécuter la commande comme ceci.

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

7
Kevin Carmody