Ansible挂在git clone上

我正试图设置一个任务,在stream浪箱中克隆回购。 我有设置代理转发正常,在〜/ .ssh / known_hosts添加回购服务器,并已validation我可以作为stream浪用户login和克隆回购没有被要求凭据和主机密钥不检查(git克隆运行没有顺利)。

我的任务设置如下:

- name: Check out pname dev branch git: repo=ssh://[email protected]:dev-team/pname.git dest=/home/vagrant/pname version=dev accept_hostkey=yes become: yes become_user: vagrant 

我的任务只是挂起,详细设置为-vvvv给出以下输出:

 <10.210.55.82> ESTABLISH CONNECTION FOR USER: vagrant <10.210.55.82> REMOTE_MODULE git repo=ssh:********@dev-web.ca:dev-team/project.git dest=/home/vagrant/project_folder version=dev accept_hostkey=yes <10.210.55.82> EXEC ssh -C -tt -vvv -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/Users/stef/.ansible/cp/ansible-ssh-%h-%p-%r" -o StrictHostKeyChecking=no -o Port=22 -o IdentityFile="/Users/stef/devbox_cp/.vagrant/machines/default/parallels/private_key" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=vagrant -o ConnectTimeout=30 10.210.55.82 /bin/sh -c 'mkdir -p /tmp/ansible-tmp-1449685034.66-224282565675976 && chmod a+rx /tmp/ansible-tmp-1449685034.66-224282565675976 && echo /tmp/ansible-tmp-1449685034.66-224282565675976' <10.210.55.82> PUT /var/folders/q1/21hlrxsd4y1_hr8n5kx4cq540000gn/T/tmp8KpkMe TO /tmp/ansible-tmp-1449685034.66-224282565675976/git <10.210.55.82> EXEC ssh -C -tt -vvv -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/Users/stef/.ansible/cp/ansible-ssh-%h-%p-%r" -o StrictHostKeyChecking=no -o Port=22 -o IdentityFile="/Users/stef/devbox_cp/.vagrant/machines/default/parallels/private_key" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=vagrant -o ConnectTimeout=30 10.210.55.82 /bin/sh -c 'chmod a+r /tmp/ansible-tmp-1449685034.66-224282565675976/git' <10.210.55.82> EXEC ssh -C -tt -vvv -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/Users/stef/.ansible/cp/ansible-ssh-%h-%p-%r" -o StrictHostKeyChecking=no -o Port=22 -o IdentityFile="/Users/stef/devbox_cp/.vagrant/machines/default/parallels/private_key" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=vagrant -o ConnectTimeout=30 10.211.55.82 /bin/sh -c 'sudo -k && sudo -H -S -p "[sudo via ansible, key=fhtkrnevvknmiinzxxqzrvyofblvkzhi] password: " -u vagrant /bin/sh -c '"'"'echo BECOME-SUCCESS-fhtkrnevvknmiinzxxqzrvyofblvkzhi; LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /usr/bin/python /tmp/ansible-tmp-1449685034.66-224282565675976/git'"'"'' 

有没有办法弄清楚是什么阻碍了git clone任务?

更新:

运行以下任务按预期工作:

 - name: Clone project dev branch shell: git clone [email protected]:dev-team/project.git /home/vagrant/www/project sudo: false args: creates: /home/vagrant/www/project 

虽然以下使用git本地任务处理程序失败(不再挂起):

 # This task does not work! - name: Check out project dev branch git: repo=ssh://[email protected]:dev-team/project.git dest=/home/vagrant/www/project accept_hostkey=yes force=yes sudo: false 

这是显示的错误:

 failed: [default] => {"cmd": "/usr/bin/git ls-remote 'ssh:********@gitlab.cgi-web.ca:dev-team/project.git' -h refs/heads/HEAD", "failed": true, "rc": 128} stderr: GitLab: The project you were looking for could not be found. fatal: Could not read from remote repository. 

为什么shell任务可以工作,而不是原生的git任务?

好像你在repo选项中出现语法错误。 你尝试更换:/

看看模块文档 :

 Example just ensuring the repo checkout exists - git: repo=git://foosball.example.org/path/to/repo.git dest=/srv/checkout update=no 

即使您使用SSH协议,Ansible似乎也不会使用:在repourl中。