首页 文章

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

提问于
浏览
3

我正在使用Ansible(使用Ansible Tower)并且想要创建一个运行测试的任务 .

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

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

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

1 回答

  • 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
    

相关问题