【发布时间】:2015-04-24 01:44:03
【问题描述】:
我正在尝试制作一个环境变量列表,以用于由于版本差异而在每个主机上的路径可能略有不同的任务。
例如,/some/common/path/v_123/rest/of/path
我在通过角色导入的 variables.yml 文件中创建了这些变量的列表。
roles/somerole/varables/main.yml 包含以下内容
somename:
somevar: 'coolvar'
env:
SOME_LIB_PATH: /some/common/path/{{ unique_part.stdout }}/rest/of/path
然后我有一个运行类似这样的任务
- name: Get unique path part
shell: 'ls /some/common/path/'
register: unique_part
tags: workflow
- name: Perform some actions that need some paths
shell: 'binary argument argument'
environment: somename.env
但我收到一些关于未定义变量的 Ansible 错误。
另外,我尝试预定义 unique_part.stdout 以希望寄存器覆盖预定义的变量,但后来我遇到了其他错误 - 模板失败。
还有其他方法可以根据命令返回来制作这些变量吗?
【问题讨论】: