繁体   English   中英

如何在 Ansible Playbook 中使用变量

[英]How to use variables in Ansible Playbook

我有一个愚蠢的问题。 我在我的剧本中使用角色和变量,但在执行时出错。 这是我的戏剧的层次结构

我的main.yml

---
 - include: validation-and-download-tasks.yml

验证和下载-tasks.yml

---
- hosts: localhost
  connection: local
  gather_facts: no
  roles:
     - role: valanddownload
       tags:
         - valanddownload

valanddownload main.yml

---
 - name: Validating the input variables
   #hosts: localhost
   #gather_facts: false

   vars:
     _allowed_envs:
       - dev
       - preprod
       - prod

 - name: Ensuring that directory exists to download the artifacts
   file:
     path: "{{ release_location }}/{{my_release_version}}"
     state: directory

我的缩进有问题吗? 下面的错误

ERROR: vars is not a legal parameter in an Ansible task or handler

如所写,您应该在播放级别上定义变量,这是您询问的示例:

---
- hosts: localhost
  connection: local
  gather_facts: no
  roles:
     - role: valanddownload
       tags:
         - valanddownload
  vars:
    _allowed_envs:
      - dev
      - preprod
      - prod

您不能将 vars 部分附加到任务级别。 这应该适合你。

提示:我会使用 vars 文件。 在那里定义所有变量。 在一个文件中控制所有变量更加舒适和可编辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM