如果我写:
repo=git@github.com/foo/bar.git
dst=/opt/foobar
host=box
# assume I have ssh permissions
ssh ${host} 'git clone ${repo} ${dst}'
这很容易。好的,现在我想为所有主机执行此操作:
// @hosts/targets
biz
baz
qaz
$: cat hosts/targets | xargs -I host ssh host 'git clone ${repo} ${dst}'
然后我将对所有主机执行此操作。开发人员花了5分钟的时间,除非将其翻译成中文(或更糟糕的是,爱因斯坦符号),否则我将能够阅读。
另一方面,我写:
---
- hosts: targets
tasks:
- name: clone
git:
repo: "{{ repo }}"
version: "{{ vers }}"
dest: "{{ dst }}"
key_file: "{{ keyfile }}"
accept_hostkey: yes
force: yes
似乎没有任何效果:git将克隆,是的,但是随后挂起;也没有检出正确的分支。添加-vvv
可以显示该玩家正在休息中。
如何调试此Ansible?