Java 从docker映像运行maven命令

Java 从docker映像运行maven命令,java,maven,docker,continuous-integration,gitlab,Java,Maven,Docker,Continuous Integration,Gitlab,我正在gitlab runner中构建docker形象。 因此,我使用的是docker:LastImage,因为我需要将映像推送到注册表,但在构建映像之前,我需要打包我的java项目。 如何将docker映像与maven一起用于构建项目 现在,gitlab runner返回一个错误 $ docker run -it --rm -v "$(pwd)":/opt/maven -w /opt/maven maven:3.3.9-jdk-8 mvn clean install the input dev

我正在gitlab runner中构建docker形象。 因此,我使用的是docker:LastImage,因为我需要将映像推送到注册表,但在构建映像之前,我需要打包我的java项目。 如何将docker映像与maven一起用于构建项目

现在,gitlab runner返回一个错误

$ docker run -it --rm -v "$(pwd)":/opt/maven -w /opt/maven maven:3.3.9-jdk-8 mvn clean install
the input device is not a TTY
ERROR: Job failed: exit code 1
您不需要(也不能)
以交互方式运行容器,也不能在Gitlab中分配TTY。因此,从docker跑步中删除
-it

docker run --rm -v "$(pwd)":/opt/maven -w /opt/maven maven:3.3.9-jdk-8 mvn clean install

不客气!您可以标记为,如果我在调用“代码> MVN包< /代码>后,在哪里可以找到我的WAR文件?只是为了解决这个问题:<代码> DOKER Run-RM -V“$(PWD)”:/opt/Maven -W/opt/Maven Maven:3.3.9 JDK-8SH-C“MVN CurryEngult;find //GRIP名称”< /C> >(将您正在搜索的文件名中的某些部分放入其中)我在[/opt/maven/web/target/web][code>[INFO]构建战争:/opt/maven/web/target/web.war
中只看到了这个
[INFO]组装webapp[web]的过程,因此战争发生在gitlab本地的
$(pwd)/web/target/web.war