Установка пакетов NPM и Maven в dockerfile - PullRequest
0 голосов
/ 20 сентября 2018

Я использую Jenkins, который порождает новый док-контейнер для запуска задания.После завершения задания контейнер удаляется.

Каждый раз, когда запускается установка mvn, зависимости maven загружаются из репозитория Maven.Поскольку для каждой работы создается новый док-контейнер, зависимости maven не сохраняются локально и должны загружаться каждый раз.

То же самое относится и к нашим пакетам npm, которые загружаются при каждом запуске npm install.

Я надеялся, что найдется способ загрузить все зависимые пакеты в образ докера, который используется для выполнения заданий Jenkins.Это приведет к одноразовой загрузке, и ее не нужно будет загружать каждый раз.

Вот докер-файл, который я пытался использовать, но он не работал для зависимостей maven -

FROM ubuntu:trusty
RUN apt-get -qq update && apt-get -q -y install maven

USER jenkins
COPY pom.xml /tmp/pom.xml
RUN mvn dependency:resolve -f /tmp/pom.xml

Использованиеновый образ, зависимости maven по-прежнему загружались из репозитория mvn, а не из локального репозитория.Что-то также должно быть сделано для пакетов npm, используя файл package.json.

1 Ответ

0 голосов
/ 20 сентября 2018

Если вы хотите, чтобы некоторые данные сохранялись при использовании контейнеров Docker, вам следует использовать volume .Итак, для Maven попробуйте связать каталог контейнера ~/.m2 с каким-либо каталогом на хосте, который будет хранить все загруженные зависимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...