Колллеги, доброго времени суток. В проекте гитлаба с помощью собирается

образ. Как передать тег этого образа в другие проекты гитлаба?

3 ответов

15 просмотров

Какой процесс вы хотите реализовать, как между собой связаны проекты? Какое событие/я должно приводить к перевыкату образа?

если гитлаб премиальный, то можно глянуть на 1) multiproject-pipeline. 2) needs:project ( с этим по правде не работал ) trigger_job умеет передавать переменные в job1 в другом проектк

Привет! В werf для этого используются бандлы (и это как раз альтернатива multiproject pipeline). Настраиваем ci/cd отдельного проекта так, чтобы например после мержа в мастер и прохождения всех тестов публиковался релизный артефакт — бандл с определенной версией (werf bundle publish --repo REGISTRY_REPO --tag SEMVER|SYMBOL_TAG). В этом же проекте мы обычно кладем в .helm и манифесты, нужные для выката данного сервиса. Опубликованный бандл — это хельм чарт в registry по определенной версии + образы связанные с этим чартом. О тегах образов думать не нужно, они уже слинкованы с чартом. Далее можно просто выкатывать этот чарт и получать инстанс версии приложения. Далее в проекте, где требуется использовать сервис мы либо подключаем бандл как helm dependency в .helm/Chart.yaml, либо явным образом выкатываем через отдельную команду werf bundle apply --repo XXX --tag latest. Для выката больше не нужен git-проекта, только registry и требуемая версия бандла. В отличие от multiproject-pipeline с помощью бандлов каждый такой отдельный проект получается независимым и в конфигах этого проекта не хранится знание где он используется. Для отдельного проекта достаточно опубликовать бандл и все, где он будет использоваться — это уже не важно с точки зрения проекта. Получаем легко масштабируемую и ортогональную конфигурацию.

Похожие вопросы

Обсуждают сегодня

Всем привет. Понимаю, что, наверное, сто раз поднимали эту тему, но по ключевым словам не смог найти. Как передать в values.yaml зависимого хелм-чарта теги образов, собираемых...
Vitalik Petrov
4
Всем привет. Werf v2.10.5 При удалении релиза вместе с неймспейсом (werf dismiss --namespace namespace_name) Сыпятся ошибки ┌ Waiting for resources elimination: namespaces/rel...
Vitalik Petrov
1
@aigrychev, @ilya_lesikov добрый день! а поддерживает ли werf helm xxxx или werf bundle xxxx работу с сабчартами через http-прокси? (сработает ли использование HTTP_PROXY/HTTP...
Сергей Голод
4
Добрый день! Удалил все файлы с переменными из проекта, получил Error: release deploy: process resources: error validating adoptable resources: adoption validation failed: re...
Evgheni Mad
2
Привет! Вопрос про werf helm Приложение деплоится через werf helm upgrade --atomic Иногда(все условия для воспроизведения до конца непонятны, но есть версия, что это происходи...
𝓐𝓵͢͢͢𝓮𝔁 C
2
Всем привет. Сегодня добавили в приложение дополнительный образ nginx, в который докидывается системная статика прям в образ. При деплое бандлами деплоилось 200+ джоб(клиентов...
Владимир Муковоз
6
Добрый день, после перехода с версии 1.2 на 2.10 werf cleanup начал удалять использующиеся теги, и до и после обновления использовались дефолтные политики keepPolicies Подскаж...
Дмитрий
29
Блин а мне как поумнеть ?
Toxin
191
Друзья, добрый день. Прошу подсказать с базовым вопросом по использованию CI переменных gitlab в werf.yaml. Хочу в beforeInstall использовать env переменную с токеном. Мне нуж...
Anton Zol
10
Вопросик не совсем werf. Но вдруг мы подскажите воркэраунд или ещё что-нибудь. Могу ли я как-нибудь в моменте деплоя внутри heml рендера получить хэшсумму файла шаблона (./tem...
Alex Подрябинкин
11
Карта сайта