Я изучаю Puppet в качестве нашего будущего инструмента развертывания и подготовки в нашем магазине, но сейчас я застрял на том, как создать умную цепочку инструментов непрерывной интеграции/доставки с развертыванием через Puppet.
В любой из наших сред (dev, test, qa, demo, prod) у нас есть ряд компонентов. Нам нужно иметь возможность развертывать каждый компонент отдельно и, возможно, даже одновременно.
Мне нужен способ инициировать (с помощью скрипта) развертывание одного пакета компонентов (=модуль Puppet) и собрать его выходные данные и состояние успеха. Простое ожидание запланированного запроса агента или выполнение «puppet agent --test» на каждом узле в среде недостаточно, потому что он может обнаружить другие ожидающие изменения (я не знаю, находится ли другой компонент также в процессе). процесс развертывания).
В моей цепочке инструментов я хотел бы, чтобы выходные данные и статус развертывания для компонента A и компонента B записывались отдельно и не смешивались.
Итак, мой вопрос: могу ли я использовать марионетку для одновременного развертывания одного пакета (модуля) с одним именем?
А если нет, то где я свернул не туда, когда ехал по этому пути?
Я понимаю, что настройка Puppet без мастера с модулями и манифестами, реплицированными на каждый узел, возможно, могла бы это сделать, но ИМХО установка Puppet без мастера побеждает цель Puppet.
PS: я думаю, что то, чего я пытаюсь добиться, называется «Управляемая оркестровка» в очень поучительном видео Дэймона Эдвардса по адресу Интеграция инструментов DevOps в платформу предоставления услуг (отметка времени около 22:30).