Ansible部署git clone:“赋值前引用的局部变量'remote_head'”

时间:2017-01-10 09:12:49

标签: git deployment ansible orchestration

我的Ansible手册中定义了一个git clone任务:

- 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 [克隆git存储库]

           

致命:[188.xxx.xx.xxx]:失败! => {“已更改”:false,“failed”:true,   “module_stderr”:“与188.xxx.xx.xxx的共享连接已关闭。\ r \ n”,   “module_stdout”:“\ r \ nTraceback(最近一次调用最后一次):\ r \ n文件   “/tmp/ansible_7diacW/ansible_module_git.py”,第1040行,\ r \ n   main()\ r \ n文件“/tmp/ansible_7diacW/ansible_module_git.py”,第994行,   在主\ r \ n result.update(更改= True,在= remote_head之后,msg ='本地   修改存在')\ r \ nUnboundLocalError:局部变量   在分配之前引用'remote_head'\ r \ n“,”msg“:”MODULE   FAILURE“}重试,使用: - limit   @ /用户/ kramer65 /回购/ mywebsite / ansible / php.retry

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

有人知道这里发生了什么吗?

1 个答案:

答案 0 :(得分:0)

在@techraf的评论中提到the issue link后,我发现a Pull Request got merged they say" 合并开发并向后移植到稳定版2.2 "

我刚刚将我的ansible版本从2.2.0.0升级到2.2.0.0_2,它现在再次适用于我。

谢谢@techraf

[编辑]

我小整顿。现在似乎工作* 更好。我的意思是它通常有效,但有时不行。如果它不起作用,再次运行它似乎经常为我做的工作。如果其他人有更好的想法,我很高兴听到他们。