Зарегистрируйте переменные в цикле 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

Источник: ledsshop.ru

Стиль жизни - Здоровье!