我们有一个用Gradle构建的Java项目,它需要Java 8等。开发人员在他们的机器上有不同的Java版本(不同的项目,IDEA一直对Open JDK很挑剔,但我们用它来运行我们的应用程序)和我们希望能够使用正确的Java版本轻松构建。
这个想法是使用Docker完成任务,即启动具有正确Java版本的docker容器并将其用于构建(编译,测试,组装等)。
这是个好主意吗?我该怎么办呢?例如,我是否告诉Gradle启动容器,并告诉它使用它的javac?或者我是否启动容器,使用项目代码安装卷,并使用该容器中的Gradle进行构建?这样做的缺点是人们需要先启动容器,但我想它可以编写脚本。
有人做过这样的事吗?
答案 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容器的信息,其中显示了如何将主机目录作为卷安装到容器和构建中。