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

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

10 ответов

13 просмотров

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 в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
7
падает джоба хотя уже была собрана на соседнем namespace, куда капать? │ │ Copying blob sha256:2fa066caddb8f09a71082b03aa43046f79346a01d9c89e06a1f508bb1207dba5 427 │ │ Copyin...
Andrei St
6
Здравствуйте. Задача состоит в том, чтобы сделать real-time чат в мобильном приложении. После передачи сообщения пользователем через веб-сокеты, для основного и долговременног...
🐾
5
Всем привет 👋 Подскажите пожалуйста, а чего тут не хватает permission или образ битый? Running with gitlab-runner 17.0.0 (44feccdf) on gitlab-runner-c58775949-d7znz YxYz2zp...
Max
2
Коллеги, у меня тут возникла одна очень интересная задачка. Есть один бандл, который содержит в себе 2 типа образов - бэкенд и фронтенд. Выкатываются последовательно, сперва б...
სერგეი ქრისტოვი
25
Всем привет. Перешел на werf второй версии На первой версии проект деплоился очень быстро, апгрейд происходил моментально. На версии 2.6.0 он проходится по всем ресурсам, коих...
Vitalik Petrov
2
Если у очереди установлено x-message-ttl, при получении сообщения из этой очереди, можно узнать остаток времени жизни сообщения?
Сергей
8
Добрый день, чат. Мне в очередь из других RabbitMQ по shovel валятся метрики в формате текста для Prometheus. Помогите пожалуйста подружить RabbitMQ и Prometheus, чтобы он (...
Aleksey
4
Подскажите пожалуйста, а я могу вот такую штуку использовать? rpc, только реализованное в реббите https://www.rabbitmq.com/tutorials/tutorial-six-php ( или https://habr.com/ru...
Artyom
11
Приветствую, коллеги. Есть ли у werf возможность сохранять логи контейнеров в файлы? Например, есть джоб мигратора, который стартует первым через хуки. Если он падает, то хоте...
Igor
2
Карта сайта