Comments 7
Поскольку рассматриваемые микросервисы деплоятся и запускаются одинаково, необходим одинаковый набор Helm-шаблонов. Чтобы избежать копирования каталога .helm между репозиториями, раньше мы выполняли клонирование репозитория, в котором хранились Helm-шаблоны и делали checkout на нужный тег.
А что мешало использовать git submodules? Gitlab этот функционал неплохо поддерживает.
+1
Были также вариации с использованием git submodules, но всё это больше похоже на обходной путь…Я писал про вариант с git submodules, не стал прикреплять пример, как его реализовать. Сабмодули также подходят для подключения исходников из других репозиториев. Но и git submodules, и вариант с checkout тега уступают использованию функционала пакетного менеджера.
+5
Но и git submodules, и вариант с checkout тега уступают использованию функционала пакетного менеджера.
Я наверное коряво задал вопрос. Чем уступают? Точнее что конкретно вам мешало в подходе с подмодулями? Вы просто написали, что это было похоже на обходной путь, но без пояснений, поэтому и спрашиваю опыта ради.
0
Git submodule, является частью git, что делает его инструментом для управления исходным кодом. Если есть необходимость работать с исходниками нескольких репозиториев в рамках одного, то git submodule — это отличный выбор. В таком формате, конечно же, удобнее вести разработку.
Git submodule однозначно начинают проигрывать, когда исходники не нужны, а нужно просто стянуть все необходимые пакеты. Например, нужны не только helm шаблоны описанные в собственных репозиториях, но и чарты с hub.helm.sh. Да, можно использовать git submodule, так как большинство чартов имеют открытые исходники, но гораздо проще, используя менеджер пакетов, сказать, что нужен пакет следующей версии.
С сабмодулями есть ещё одна небольшая проблема, многие разработчики используют их в своих проектах. Поэтому периодический вызов
Git submodule однозначно начинают проигрывать, когда исходники не нужны, а нужно просто стянуть все необходимые пакеты. Например, нужны не только helm шаблоны описанные в собственных репозиториях, но и чарты с hub.helm.sh. Да, можно использовать git submodule, так как большинство чартов имеют открытые исходники, но гораздо проще, используя менеджер пакетов, сказать, что нужен пакет следующей версии.
С сабмодулями есть ещё одна небольшая проблема, многие разработчики используют их в своих проектах. Поэтому периодический вызов
git submodule update --init --recursive --remote --merge
приводит к тому, что в репозитории проекта вместе с библиотеками проекта обновляется ещё и инфраструктура. Но это скорее человеческий фактор.+1
UFO just landed and posted this here
Скоро будет русская версия werf.io! Осталось ~40%.
0
Русская версия документации доступна на ru.werf.io
0
Sign up to leave a comment.
Сборка и деплой однотипных микросервисов с werf и GitLab CI