我正在使用 Ansible(带有 Ansible Tower)并想要创建一个运行测试的任务。
我有一个(SoapUI 测试)的属性文件,其形式为 key=value。该值将根据运行测试的主机而变化。
尽管有一种方法可以为每个主机指定不同的变量,但似乎没有一种方法可以为不同的主机指定不同的文件。
(据我所知)最好的方法似乎是创建一个模板(http://docs.ansible.com/ansible/template_module.html)而不是属性文件,并使用主机变量填充模板值。有替代或更好的方法吗?
您只需将文件路径设置为变量即可。
因此,如果您的任务是将文件复制到如下所示的框中:
- name: Copy properties file to box
copy:
src: path/to/file
dest: path/to/dest
Run Code Online (Sandbox Code Playgroud)
您可以简单地将其更改为:
- name: Copy properties file to box
copy:
src: "{{ properties_file }}"
dest: path/to/dest
Run Code Online (Sandbox Code Playgroud)
然后您只需properties_file为适当的环境组或主机设置变量,如下所示:
group_vars/dev:
properties_file: path/to/dev/file
Run Code Online (Sandbox Code Playgroud)
组变量/产品:
properties_file: path/to/prod/file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2461 次 |
| 最近记录: |