срастается без костылей):
1) есть репа с кодом. В репе докерфайл
2) надо эту репу сбилдить докерфайлом и положить образ на сервак Х. Кладем ансиболью (в будщем переедем в куб, но пока так)
3) хочется чтобы в самой репе был минимальный gitlab-ci.yaml, в идеале - кучка инклудов
пока что сделали следующим образом:
1) в репе с кодом в ямлике стоит инклуд на репу с темплейтом пайплайна, где описан билд
2) в темплейте пайплайна стоит триггер на репу, где лежит плейбук и роль деплоя
Проблема следующая:
а) не хочется в репе с кодом держать ансибловые файлы (плейбуки, роли, инвентори, ансибл конфиги )
б) хочется в репе держать переменные, которые енвом\волумом уедут в докер контейнер, в ансибл репе держать их не хочется ( хочу давать доступ на репу с кодом людям, а на репу с ансиблом не хочу)
Возникает вопрос а как передать файл переменных из репы с кодом в джобу, которая запускается триггером?
Согласно доке через artifacts можно передать только указав в даунстрим джобе апстрим джобу, но это невозможно (т.к. даунстрим джоба будет триггериться разными репами)
варианты которые я вижу:
а) посылать файлик через внешние артифактохранилища (с3\нексус\итп)
б) сосировать файл из апстрим репы по апи
цэ) клонить ансибл репу вместо триггера
дэ) класть плейбук хередоком в джобу и инклудить вместо триггера
но все это костыли имхо
Есть issue и в ней костыль - https://gitlab.com/gitlab-org/gitlab/-/issues/228586#note_501025838. Там, конечно, написано про один из проектов - приватный, но - применимо. Опять же, пункт а) выглядит как предварительная заливка нужного файла в кэш с нужным ключом.
ты мне уже в рабочем чате ответил 🌚 я это решение и имел ввиду в пункте (бэ) но спасибо, да. Я скорее про подход спрашиваю, ибо это как-то довольно базовый (имхо) сценарий и тут такой внезапный спотыкач Мб я чот не понимаю глобально в струтуре пайплайна
Обсуждают сегодня