Ansible不允许在剧本级别的环境

Ansible not allowing environment at playbook level

我在剧本级别定义环境变量时遇到问题。 According to the docs it should be possible.

$ ansible --version
1.7.1

$ ansible-playbook -i staging deploy.yml
ERROR: environment is not a legal parameter at this level in an Ansible Playbook

这是简化的剧本:

---
- hosts: app
  user: web

  environment:
    PATH: "{{ path_append }}:{{ ansible_env.PATH }}"

  tasks:
    - ...
    - ...

为了确定,我尝试在没有变量的情况下设置它,结果是一样的。

在任务中移动环境定义。

文档不正确。这是一个在更高版本(ansible 1.8)中修复的错误。你能升级到 1.9.x?

Enable environment keyword at play level