2015-11-24 2 views
2

Я использую Ansible (с Ansible Tower) и хочу создать задачу, которая запускает тест.Использование разных файлов для разных хостов

У меня есть файл свойств для (SoapUI tests), который имеет форму key = value. Значение изменится в соответствии с хостом, на котором выполняется тестирование.

Хотя есть способ указать разные переменные для каждого хоста, похоже, не существует способа указать разные файлы для разных хостов.

Лучшим способом, по-видимому, является (насколько мне известно) создание шаблона (http://docs.ansible.com/ansible/template_module.html) вместо файла свойств и заполнение значений шаблона с использованием переменных хоста. Есть ли альтернативный или лучший способ?

ответ

1

Вы можете просто указать путь к файлу как переменную.

Так что если у вас есть задание, копирование файла в поле, которое выглядит как:

- 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/прод:

properties_file: path/to/prod/file