从vsts git repo中提取时,Ansible挂起

时间:2017-05-09 16:20:36

标签: git ansible azure-pipelines azure-pipelines-release-pipeline

您好我正在尝试从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'"&# 39;"'"'"'"'"'"' "' 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'"'"'"'"'"&# 39;"'"'"' &安培;&安培;睡0'''''

1 个答案:

答案 0 :(得分:1)

我设法通过在Ansible git模块中添加一个额外的参数-key_file来解决我的问题。

  

Ansible Docs:指定用于结帐的可选私钥文件。

完整模块样本:

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的答案,我创建了一个没有密码短语的密码对。
  • 将公钥添加到vsts服务器

希望这有助于其他有同样问题的人。