Ansible:如何更改Ansible Playbook中的活动目录?
- name: Go to the folder command: chdir=/opt/tools/temp
当我运行我的剧本时,我得到:
TASK: [Go to the folder] ***************************** failed: [host] => {"failed": true, "rc": 256} msg: no command given
任何帮助深表感谢。
Ansible中没有当前目录的概念。 您可以指定特定任务的当前目录,就像您在手册中所做的一样。 唯一缺less的部分是要执行的实际命令。 尝试这个:
- name: Go to the folder and execute command command: chdir=/opt/tools/temp ls
如果你需要一个login控制台(比如捆绑器),那么你必须这样做的命令。
command: bash -lc "cd /path/to/folder && bundle install"
这个问题出现在我试图弄清楚为什么'shell'不是我的chdir
条目时,我不得不恢复到Ansible 1.9的结果。 所以我会张贴我的解决scheme。
我有
- name: task name shell: cmd: touch foobar creates: foobar chdir: /usr/lib/foobar
它与Ansible> 2一起工作,但对于1.9,我不得不改变它。
- name: task name shell: touch foobar args: creates: foobar chdir: /usr/lib/foobar
只是想分享。