Ansible 为不同的主机使用不同的文件

Ansible 为不同的主机使用不同的文件,ansible,ansible-playbook,Ansible,Ansible Playbook,我正在使用Ansible(带有Ansible Tower)并希望创建一个运行测试的任务 我有一个(SoapUI测试)的属性文件,其形式为key=value。该值将根据运行测试的主机而更改 虽然有一种方法可以为每个主机指定不同的变量,但似乎没有一种方法可以为不同的主机指定不同的文件 据我所知,最好的方法似乎是创建一个模板()而不是属性文件,并使用主机变量填充模板值。是否有其他或更好的方法?您只需将文件路径设置为变量即可 因此,如果您的任务是将文件复制到如下框中: - name: Copy prop

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

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

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


据我所知,最好的方法似乎是创建一个模板()而不是属性文件,并使用主机变量填充模板值。是否有其他或更好的方法?

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

因此,如果您的任务是将文件复制到如下框中:

- 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\u文件
变量,如下所示:

组变量/开发人员:

properties_file: path/to/dev/file
组变量/产品:

properties_file: path/to/prod/file