Привет. начал смотреть в сторону создания CI\CD через werf. в

документации по интеграции с Gitlab https://ru.werf.io/documentation/v1.2/advanced/ci_cd/gitlab_ci_cd.html есть такая строчка

Сборка и публикация выполняется при каждом push в репозитории.

правильно ли это получается, что коммит в дев ветку собирает контейнер, потом МР в staging собирает контейнер и я его проверяю, а потом делаю МР в master где опять собирается контейнер и идет в прод? вроде кодовая база одна и та же везде, но по факту это разные контейнеры, с разными sha commit'ами.

5 ответов

19 просмотров

Нет, werf делает сборку только если поменялся контент гита, ну покрайней мере продает идею contentbased build Однако если речь идет просто как о факте тригерра CI - да он запускается на каждый чих - а в гитлабе так и вообще для MR и для ветки запустятся два пайплайна если не указать в workflow запрет на паплайн для ветки при открытом MR

Jeison-Mortyre Автор вопроса
Aleksey Lazarev
Нет, werf делает сборку только если поменялся конт...

тогда я не очень понимаю как это работает. вот я делаю при коммите в дев werf publish ${DOCKER_REGISTRY} --tag-custom ${CI_COMMIT_SHA} после применения МР в мастер у меня же новый коммит, получается будет сборка контейнера и его публикация? а если нет, то какой контейнер будет залит в прод?

Jeison Mortyre
тогда я не очень понимаю как это работает. вот я д...

Зависит от мерджстратеджи. Плюс ты вон поставил тэгкастом коммитша - он возьмет уже собранный имейдж который не изменился так как гит не менялся и просто повесит новый тэг

Jeison-Mortyre Автор вопроса

ну да. как мне кажется в этом то и проблема. я деве тестирую один образ, например server:825f3ec8 а при попадании в прод этот же образ тегируется server:1627142b казалось бы, какая разница, образ то один и тот же. но у меня документация, отчет по тестированию и тд, где я указываю коммит. а в прод выливается другой образ. я придумал только способ создания МР с fast-forward, но мб werf как-то по другому может решить эту проблему?

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

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

Всем привет. Понимаю, что, наверное, сто раз поднимали эту тему, но по ключевым словам не смог найти. Как передать в 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
Карта сайта