多阶段泊坞build造中的多模块gradle项目

我们有一个多模块gradle构build与常见的构buildconfiguration:

project/ ├── src/ │ ├── api/ | | ├── src/ ... | | ├── build.gradle | | └── Dockerfile │ ├── api2/ ... │ ├── apiN/ ... │ └── core/ | ├── src/ ... | ├── build.gradle | └── Dockerfile ├── build.gradle └── settings.gradle 

模块api取决于core 。 根中的文件build.gradle包含所有常见的依赖和设置。

当我们尝试使用多阶段Docker构build它时

 FROM gradle as compiler COPY . . <--- We cannot do that RUN gradle build FROM java COPY --from=compiler build/app.jar . EXPOSE 8080 CMD java -jar app.jar 

我们不能将整个项目从根目录复制到第一个构build阶段,因为Docker不支持引用顶层目录的path

 COPY ../../. . 

因此,我们不能build立这个项目。

有没有办法使用多模块gradle项目的多阶段Docker构build? 或者如何组织Docker兼容的方式?