首页 > 解决方案 > 如何在角色下的文件夹中引用变量

问题描述

在我的一个 ansible 角色中,我通过"defaults/main.yml"文件创建了一个变量。我可以在"tasks/main.yml"文件中很好地引用这个变量。但是,该变量似乎不起作用"files/some_file.txt"

这是预期的吗?

标签: ansible

解决方案


使用template. 例如,角色


shell> cat roles/role-17/defaults/main.yml
var1: value1

shell> cat roles/role-17/files/some_file.txt
[{{ var1 }}]

shell> cat roles/role-17/tasks/main.yml
- debug:
    msg: task/main.yml [{{ var1 }}]
- debug:
    msg: files/some_file.txt {{ lookup('template', 'files/some_file.txt') }}

和剧本

shell> cat test-17.yml 
- hosts: localhost
  roles:
    - role-17

    "msg": "task/main.yml [value1]"

    "msg": "files/some_file.txt [value1]\n"

推荐阅读