在Docker容器中构建Java Gradle项目?

时间:2016-09-11 12:03:35

标签: java gradle docker openjdk

我们有一个用Gradle构建的Java项目,它需要Java 8等。开发人员在他们的机器上有不同的Java版本(不同的项目,IDEA一直对Open JDK很挑剔,但我们用它来运行我们的应用程序)和我们希望能够使用正确的Java版本轻松构建。

这个想法是使用Docker完成任务,即启动具有正确Java版本的docker容器并将其用于构建(编译,测试,组装等)。

这是个好主意吗?我该怎么办呢?例如,我是否告诉Gradle启动容器,并告诉它使用它的javac?或者我是否启动容器,使用项目代码安装卷,并使用该容器中的Gradle进行构建?这样做的缺点是人们需要先启动容器,但我想它可以编写脚本。

有人做过这样的事吗?

2 个答案:

答案 0 :(得分:2)

如果目标是标准化构建,那么您应该使用build automatisation software

此外,如果您的gradle项目必须使用特定版本运行,您可以强制执行:How do I tell Gradle to use specific JDK version?

我不会使用docker。

答案 1 :(得分:0)

我使用gradle容器来构建springboot java项目。你可以做类似的事情。

<强> Dockerfile

FROM gradle:jdk8
COPY . /home/gradle/project
WORKDIR /home/gradle/project
ENTRYPOINT ["gradle"]
CMD ["bootRepackage"]

您还可以在https://hub.docker.com/_/gradle/找到有关不同gradle容器的信息,其中显示了如何将主机目录作为卷安装到容器和构建中。