java - 从 docker 镜像运行 Maven 命令

标签 java maven docker continuous-integration gitlab

我正在 gitlab runner 中构建一个 docker 镜像。 所以,我使用 docker:latest 镜像,因为我需要将镜像推送到注册表,但在构建镜像之前,我需要打包我的 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 run 中删除 -it :

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

关于java - 从 docker 镜像运行 Maven 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44202706/

相关文章:

java - Spring MVC中的表单处理页面

java - maven.multiModuleProjectDirectory 有什么用?

node.js - 无法在 Docker 镜像上登录 Firebase(允许 Firebase 使用我的 Google 帐户)

java - Firestore whereEqualTo、orderBy 和 limit(1) 不起作用

java - Scanner.nextInt(x) 抛出 PatternSyntaxException

java - 算法改进 : Keeping circle at boundary of a defined shape

maven - Antlr4 maven插件中指定包的格式是什么?

java - 为什么我尝试在 TomCat 上部署项目时收到此错误消息(来自 NetBeans)? (上下文启动失败)

docker - 使用自定义 Dockerfile : no such image 运行测试容器

spring - 使用Gradle将Docker镜像推送到dockerhub时​​出错