Вопросы

Зарегистрируйте переменные в цикле with_items в Ansible playbook

У меня есть словарь с разными названиями, например

vars:
    images:
      - foo
      - bar

Теперь я хочу проверять репозитории и впоследствии создавать образы докеров только после изменения источника. Поскольку получение источника и создание изображения одинаковы для всех элементов, кроме имени, я создал задачи с помощью with_items: images и попытался зарегистрировать результат с помощью:

register: "{{ item }}"

а также пробовал

register: "src_{{ item }}"

Затем я попробовал следующее условие

when: "{{ item }}|changed"

а также

when: "{{ src_item }}|changed"

Это всегда приводит к fatal: [piggy] => |changed expects a dictionary

Итак, как я могу правильно сохранить результаты операций в именах переменных на основе списка, который я перебираю?

Обновление: хотелось бы иметь что-то вроде этого:

- hosts: all
  vars:
    images:
      - foo
      - bar
  tasks:
    - name: get src
      git:
        repo: [email protected]/repo.git
        dest: /tmp/repo
      register: "{{ item }}_src"
      with_items: images

    - name: build image
      shell: "docker build -t repo ."
      args:
        chdir: /tmp/repo
      when: "{{ item }}_src"|changed
      register: "{{ item }}_image"
      with_items: images

    - name: push image
      shell: "docker push repo"
      when: "{{ item }}_image"|changed
      with_items: images
Читать:
Получение веб-страниц из переменной

Похожие записи

В Flutter Web возникает ошибка XMLHttpRequest при выполнении вызова WCF https

admin

PyGame Неверная позиция для Blit

admin

Ошибка установки модуля Snowboy на windows 10

admin

Как читать прямоугольник, окруженный пробелами, используя readxl

admin

Python – создайте текстовую границу с динамическим размером

admin

Почему при использовании массивов текстур не нужно привязывать семплер к шейдеру?

admin