сборку локальных dev стендов.
Прошел гайд, почитал статьи на хабре. Появилось некоторое понимание о werf.
Но пока сижу гадаю на кофейной гуще как применить на своем проекте.
Проект состоит на текущий момент из 5 сервисов, каждый из которых разрабатывается в собственном git репозитории, а в будущем репозиториев будет еще больше. Объединять в монорепу не представляю возможным. Также с боку еще 2 БД и s3 minio.
У сервисов есть есть зависимости между друг другом в работе.
Во всех примерах что я видел - это монорепа и там всё понятно.
Можете подсказать возможно ли используя werf раскатывать сразу из нескольких репозиториев?
Как организовать структуру файлов в проектах, если это возможно?
Стикер
Привет, просто предположу. Создать для зависимых сервисов деплоймент-манифесты с образами уже собранных ранее версий(например стабильные). Тогда при разработке сервис будет выкатываться со всем нужным. Для прода уже эти деплойменты не использвовать, выкатывать только текущую версию, но вроде как можно выставить зависимости от уже запущенных сервисов
Еще вообще ничего никуда не релизится. Пока только разрабатывается. Поэтому прода нет.
Хотелось бы на дев стенд всё выкатывать разом
Стандартный подход — по одному werf.yaml на каждый репозиторий, в каждом репе свои Dockerfile'ы и свой чарт в .helm. Если хотите что-то обобщить, есть несколько методов: * оформляйте Helm-чарты и пушьте в какой-то чарт-репозиторий, потому подключайте оттуда * делайте базовые Docker-образы и используйте их в конечных Dockerfile'ах в репах * в сабмодулях храните какие-то общие куски, которые потом либо симлинками линкуйте, либо прямо их них что-то выдирайте (например, для werf.yaml через $.Files.Get можно)
Спасибо за развёрнутый ответ
Обсуждают сегодня