Привет, хотел бы кэшировать maven зависимости (.m2) при сборке образа.

Можете, пожалуйста, ткнуть носом, что читать в документации werf?

10 ответов

26 просмотров

Multi-stage сборка в Dockerfile или imports для Stapel-сборщика (https://ru.werf.io/documentation/v1.2/advanced/building_images_with_stapel/import_directive.html) Ещё есть монтирование, но путь тернистый и не тру (https://ru.werf.io/documentation/v1.2/advanced/building_images_with_stapel/mount_directive.html)

ᅠᅠᅠᅠᅠᅠ ᅠᅠᅠ- Автор вопроса

Вроде написано, что multi-stage сборка не поддерживается.

У нас есть два сборщика: stapel и Dockerfile В Dockerfile всё без изменений и можно использовать multi-stage, а в stapel своя альтернатива.

Кажется это нужно делать не силами werf, а через кэш гитлаба, например.

ᅠᅠᅠᅠᅠᅠ ᅠᅠᅠ- Автор вопроса

Слышал такую точку зрения, только не понятно, что там кэшировать, если зависимости загружаются в контейнере.

https://stackoverflow.com/a/40024602

чем будете "кэшировать"? mvn package? mvn compile? вынесите их в beforeSetup секцию и верф закэширует слой который образуется после выполнения mvn stage

ᅠᅠᅠᅠᅠᅠ ᅠᅠᅠ- Автор вопроса

Разве этот вариант не предполагает, что на gitlab runner установлена java с maven? Это как раз то, чего я хотел избежать.

ᅠᅠᅠᅠᅠᅠ ᅠᅠᅠ- Автор вопроса

Попробую, спасибо.

Наверняка джобу раннера можно запускать в докер-образе и закидывать туда этот кэш.

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

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

Привет! Вопрос про werf helm Приложение деплоится через werf helm upgrade --atomic Иногда(все условия для воспроизведения до конца непонятны, но есть версия, что это происходи...
𝓐𝓵͢͢͢𝓮𝔁 C
2
Добрый день, подскажите пожалуйста, а как поле project (в werf.yaml) параметризовать ? werf converge —project <APP_NAME> в одном общем репо держим 1 хельм чарт и деплоим с ...
Sulaymon
5
Всем привет. Werf v2.10.5 При удалении релиза вместе с неймспейсом (werf dismiss --namespace namespace_name) Сыпятся ошибки ┌ Waiting for resources elimination: namespaces/rel...
Vitalik Petrov
1
Здрасьти! Делаю Buildah+Docker-multistage. В первом имадже делаю COPY кода. Из них генерю файлы: 31229b03ef2ed26c5e02d0e8320f8a04 ./package.json a0b92a158d0bed9570350af0ed3e...
Vyacheslav
4
werf cleanup как-то старается не удалять промежуточные имаджи (ранее известные как артефакты)? Уже несколько раз из cache-repo улетал наш базовый node имадж. Что выглядит лог...
Vyacheslav
2
Добрый день, подскажите пожалуйста, вопрос не про верф, но приближенный к флант) Есть ли какой-то аналог плагину grafana-statusmap, который новыми версиями графаны поддержива...
ovsss
1
Вопросик не совсем werf. Но вдруг мы подскажите воркэраунд или ещё что-нибудь. Могу ли я как-нибудь в моменте деплоя внутри heml рендера получить хэшсумму файла шаблона (./tem...
Alex Подрябинкин
11
Всем привет. Сегодня добавили в приложение дополнительный образ nginx, в который докидывается системная статика прям в образ. При деплое бандлами деплоилось 200+ джоб(клиентов...
Владимир Муковоз
6
привет! Подскажите пожалуйста, а werf может как-то обойти известную проблему с helm "Secret "sh.helm.release.v1.{.Release}.{.Version}" is invalid: data: Too long: must have at...
ovsss
1
Друзья, добрый день. Прошу подсказать с базовым вопросом по использованию CI переменных gitlab в werf.yaml. Хочу в beforeInstall использовать env переменную с токеном. Мне нуж...
Anton Zol
10
Карта сайта