Ansible 部署 git 克隆:"local variable 'remote_head' referenced before assignment"

Ansible deployment git clone: "local variable 'remote_head' referenced before assignment"

我的 Ansible 剧本中定义了一个 git 克隆任务:

- name: Clone website git repository
  git: >
    dest=/var/www/mywebsite
    repo=git@github.com:MyOrganisation/MyWebsite.git
    update=yes
    force=yes
    accept_hostkey=yes
    version="{{ git_branch }}"
  become: yes
  become_user: www-data
  register: cloned

我第一次将它部署到一台机器上时效果很好,但是当我 运行 第二次(将代码更新到最新版本)时,我收到以下错误:

TASK [Clone git repository]


fatal: [188.xxx.xx.xxx]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Shared connection to 188.xxx.xx.xxx closed.\r\n", "module_stdout": "\r\nTraceback (most recent call last):\r\n File "/tmp/ansible_7diacW/ansible_module_git.py", line 1040, in \r\n main()\r\n File "/tmp/ansible_7diacW/ansible_module_git.py", line 994, in main\r\n result.update(changed=True, after=remote_head, msg='Local modifications exist')\r\nUnboundLocalError: local variable 'remote_head' referenced before assignment\r\n", "msg": "MODULE FAILURE"} to retry, use: --limit @/Users/kramer65/repos/mywebsite/ansible/php.retry

我不确定这里的问题是什么。什么是局部变量'remote_head'?为什么在分配之前引用它?

有人知道这是怎么回事吗?

the issue link given in the comment by @techraf I found a Pull Request got merged in which they say 之后是“合并开发并向后移植到 stable-2.2。”。

我刚刚将我的 ansible 版本从 2.2.0.0 升级到 2.2.0。0_2 现在它又对我有用了。

感谢@techraf

[编辑]

本人小整。它现在似乎工作*更好。我的意思是它经常有效,但有时无效。如果它不起作用,运行 它似乎又能帮我完成工作。如果其他人有更好的想法,我很高兴听到他们。