Я пытаюсь получить некоторый опыт работы с Docker и Jenkins, и хочу развернуть загрузочный сервер Spring, используя обе эти технологии.Но похоже, что я неправильно указал фактическую сборку в Dockerfile:
FROM java:8
EXPOSE 8080
ARG mongoConnection
ARG jwtSecret
ENV MONGODB_CONNECTION=$mongoConnection
ENV JWT_SECRET=$jwtSecret
COPY build/libs/test-server.jar test-server.jar
ENTRYPOINT ["java", "-jar", "test-server.jar"]
Когда я собираю контейнер через Jenkins с помощью следующих команд ...
./gradlew cleanBuild
docker build --build-arg mongoConnection=$MONGODB_CONNECTION --build-arg jwtSecret=$JWT_SECRET -t test-server .
docker run -d -p 8080:8080 --name test-server test-server
... dockerпохоже не находит файл .jar.Как правильно настроить рабочий каталог, чтобы docker мог развернуть сервер?Или мой подход совершенно неверный?
Это точная ошибка:
Копирование не удалось: stat /var/lib/docker/tmp/docker-builder542655905/build/libs/test-server.jar: нет такогофайл или каталог
Спасибо за вашу помощь!
РЕДАКТИРОВАТЬ: Оказывается, файл .jar не был создан, потому что команда ./gradlew cleanBuild была неправильной.Вместо этого это должно было быть gradle clean build
.Вот что происходит, когда вы всегда строите только с IntelliJ ...