在由Jenkins构建的Docker容器中设置正确的工作目录的问题

时间:2019-04-04 09:49:39

标签: spring docker jenkins dockerfile

我正在尝试获得有关Docker和Jenkins的经验,并希望使用这两种技术来部署Spring Boot服务器。但是似乎我在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能够部署服务器?还是我的方法完全错误?

这是确切的错误:

  

复制失败:统计   /var/lib/docker/tmp/docker-builder542655905/build/libs/test-server.jar:   没有这样的文件或目录

感谢您的帮助!

编辑:原来由于./gradlew cleanBuild命令不正确,所以未创建.jar文件。相反,它应该是gradle clean build。当您始终仅使用IntelliJ进行构建时,就会发生这种情况。

0 个答案:

没有答案