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

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

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

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

5 ответов

15 просмотров

Нет, 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 как-то по другому может решить эту проблему?

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

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

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
Карта сайта