импортировать файл переменной в другой в ansible - PullRequest
1 голос
/ 17 января 2020

Я новичок в ansible. У меня есть 2 файла переменных, один глобальный, а другой - спецификация среды c. Вот глобальный файл в папке global / group_var / all.yaml:

  rel:
    deployment:
      webui:
        dockerName: "rel"
        dockerTag: "Dev_{{ travis.build_number }}"

А указанный c находится в папке Develop / group_var / all.yaml

docker:
  registery: "xxxx"

есть ли какой-нибудь способ, которым я могу импортировать global / group_var / all.yaml для разработки / group_var / all.yaml

import global/group_var/all.yaml
docker:
  registery: "xxxx"

, поэтому разработка / group_var / all.yaml становится такой:

rel:
  deployment:
    webui:
      dockerName: "rel"
docker:
  registery: "xxxx"
dockerTag: "Dev_1111"

Спасибо

1 Ответ

1 голос
/ 18 января 2020

Можно прочитать глобальные переменные в словарь. Например,

$ cat develop/group_var/all.yaml
global: "{{ lookup('file', 'global/group_var/all.yaml')|from_yaml }}"
docker:
  registery: "xxxx"

в пьесе

- hosts: localhost
  tasks:
    - include_vars: develop/group_var/all.yaml
    - debug:
        var: global
    - debug:
        var: docker

дает

    "global": {
        "rel": {
            "deployment": {
                "webui": {
                    "dockerName": "rel"
                }
            }
        }
    }

    "docker": {
        "registery": "xxxx"
    }
...