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

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

3 ответов

12 просмотров

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

если гитлаб премиальный, то можно глянуть на 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 с помощью бандлов каждый такой отдельный проект получается независимым и в конфигах этого проекта не хранится знание где он используется. Для отдельного проекта достаточно опубликовать бандл и все, где он будет использоваться — это уже не важно с точки зрения проекта. Получаем легко масштабируемую и ортогональную конфигурацию.

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

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

Version: v2.9.3 часто стало падать с ошибкой werf plan │ platform: linux/amd64,linux/arm64 └ 🏗️ image pilot (0.61 seconds) └ 🏗️ image oauth2_proxy (0.63 seconds) panic: run...
Sergey Sokolov
8
Кажется сломалась сборка в докере docker run --pull always --rm -it registry.werf.io/werf/werf:2-stable werf version ...
Evgeniy Medvedev
1
Вопрос к werf напрямую не относится, но всё же: есть хелм чарт, в нём есть лейблы, они используются для селекторов. Как их поменять ? Т.е. если просто поменять, удалить чарт ...
Anton Warm
5
Добрый день! Как-то можно заставить buildah не выводить каждую bash команду на экран? Иначе он мои секреты из heredoc показывает в консоли Github. А так как werf переносы стро...
Vyacheslav
1
Блин а мне как поумнеть ?
Toxin
191
с gcr похоже не очень корректно работает. если задать WERF_REPO_CONTAINER_REGISTRY="gcr" и WERF_REPO=us-central1-docker.pkg.dev/infra-430406/asi-hello-world тогда получаю ошиб...
Sergey Sokolov
1
Коллеги, здравствуйте. Подскажите пожалуйста. Используем версию werf v2.6.3. И стали у нас выходить в консоли вот такие "WARNINGS" как их отключить вообще? └ Adding custom ta...
vⱥ𝖉iϻ ϻⱥlͥтsͣeͫv♛
1
Всем привет! Сорри за назойливость 😄 Я пришел с предложением: 1. Мы юзаем вендор чарты, но тащим чарт к нам в репу, билдим их образы с помощью также werf, создаем dockerfile, ...
Danil Ivanov
1
Всем привет 👋 Подскажите пожалуйста, а чего тут не хватает permission или образ битый? Running with gitlab-runner 17.0.0 (44feccdf) on gitlab-runner-c58775949-d7znz YxYz2zp...
Max
2
Через ран я же могу запустить только один образ и запаралелить не могу?
Alex Подрябинкин
10
Карта сайта