为不同的主机

时间:2015-11-24 14:17:18

标签: ansible ansible-playbook

我正在使用Ansible(使用Ansible Tower)并希望创建一个运行测试的任务。

我有(SoapUI测试)的属性文件,其格式为key = value。该值将根据运行测试的主机而更改。

虽然有一种方法可以为每个主机指定不同的变量,但似乎没有办法为不同的主机指定不同的文件。

似乎(据我所知)最好的方法是创建模板(http://docs.ansible.com/ansible/template_module.html)而不是属性文件,并使用主机变量填充模板值。有替代方法还是更好方法?

1 个答案:

答案 0 :(得分:3)

您只需将文件路径设置为变量即可。

因此,如果您有一个将文件复制到以下框中的任务:

- name: Copy properties file to box
  copy:
    src: path/to/file
    dest: path/to/dest

您只需将其更改为:

- name: Copy properties file to box
  copy:
    src: "{{ properties_file }}"
    dest: path/to/dest

然后您只需为相应的环境组或主机设置properties_file变量,如下所示:

group_vars的/ dev:

properties_file: path/to/dev/file

group_vars / PROD:

properties_file: path/to/prod/file