从 vsts git 回购中提取时 Ansible 挂起
Ansible hangs when pulling from vsts git repo
嗨,我正在尝试从 vsts git 存储库 (ssh://********/_git/ClouderaAutomation) 克隆,但 ansible 似乎只是挂起当我尝试时。下面是正在使用的 git 模块的片段。
name: Clone git repo.
git:
repo: "{{ repoToClone }}"
dest: "/home/vagrant/ClouderaAutomation"
accept_hostkey: yes
clone: yes
become: yes
repoToClone 是 ssh://********/_git/ClouderaAutomation。当我直接在远程服务器上执行 'git clone' cmd 时,它会毫无问题地克隆存储库。但是,当我尝试通过 ansible 克隆时,它只是挂起而没有错误,这是 -vvv 日志的最后一行:
<192.168.33.30> SSH: EXEC sshpass -d15 ssh -C -o ControlMaster=auto -o ControlPersist=60s -o ConnectTimeout=10 -o ControlPath=/home/vagrant/.ansible/cp/9a3517bddd -tt 192.168.33.30 '/bin/sh -c '"'"'sudo -H -S -n -u root /bin/sh -c '"'"'"'"'"'"'"'"'echo BECOME-SUCCESS-lugffujkolhidvafudbyhootlistpyyf; /usr/bin/python /home/vagrant/.ansible/tmp/ansible-tmp-1494346256.28-165153189526831/git.py; rm -rf "/home/vagrant/.ansible/tmp/ansible-tmp-1494346256.28-165153189526831/" > /dev/null 2>&1'"'"'"'"' "'"'"'"' && 睡眠 0'"'"''
我通过向我的 Ansible git 模块 -key_file 添加一个附加参数来设法解决我的问题。
Ansible Docs: Specify an optional private key file to use for the checkout.
完整模块示例:
name: Clone git repo.
git:
repo: "{{ repoToClone }}"
dest: "/home/vagrant/ClouderaAutomation"
accept_hostkey: yes
key_file: /home/vagrant/.ssh/id_rsa
become: yes
附加要求:
- 确保您已生成一个 ssh 密钥对 (ssh-keygen),由于 OP 给出的答案 here,我生成了一个没有密码的密钥对。
- 将 public 密钥添加到 vsts 服务器
希望这对遇到同样问题的其他人有所帮助。
嗨,我正在尝试从 vsts git 存储库 (ssh://********/_git/ClouderaAutomation) 克隆,但 ansible 似乎只是挂起当我尝试时。下面是正在使用的 git 模块的片段。
name: Clone git repo.
git:
repo: "{{ repoToClone }}"
dest: "/home/vagrant/ClouderaAutomation"
accept_hostkey: yes
clone: yes
become: yes
repoToClone 是 ssh://********/_git/ClouderaAutomation。当我直接在远程服务器上执行 'git clone' cmd 时,它会毫无问题地克隆存储库。但是,当我尝试通过 ansible 克隆时,它只是挂起而没有错误,这是 -vvv 日志的最后一行:
<192.168.33.30> SSH: EXEC sshpass -d15 ssh -C -o ControlMaster=auto -o ControlPersist=60s -o ConnectTimeout=10 -o ControlPath=/home/vagrant/.ansible/cp/9a3517bddd -tt 192.168.33.30 '/bin/sh -c '"'"'sudo -H -S -n -u root /bin/sh -c '"'"'"'"'"'"'"'"'echo BECOME-SUCCESS-lugffujkolhidvafudbyhootlistpyyf; /usr/bin/python /home/vagrant/.ansible/tmp/ansible-tmp-1494346256.28-165153189526831/git.py; rm -rf "/home/vagrant/.ansible/tmp/ansible-tmp-1494346256.28-165153189526831/" > /dev/null 2>&1'"'"'"'"' "'"'"'"' && 睡眠 0'"'"''
我通过向我的 Ansible git 模块 -key_file 添加一个附加参数来设法解决我的问题。
Ansible Docs: Specify an optional private key file to use for the checkout.
完整模块示例:
name: Clone git repo.
git:
repo: "{{ repoToClone }}"
dest: "/home/vagrant/ClouderaAutomation"
accept_hostkey: yes
key_file: /home/vagrant/.ssh/id_rsa
become: yes
附加要求:
- 确保您已生成一个 ssh 密钥对 (ssh-keygen),由于 OP 给出的答案 here,我生成了一个没有密码的密钥对。
- 将 public 密钥添加到 vsts 服务器
希望这对遇到同样问题的其他人有所帮助。