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