docker - yml 文件中的 docker 映像存在一些问题。在 gitlab 中添加新运行器后无法运行我的管道
问题描述
我已将我的项目配置为在管道上运行这是我的 .git.yml 文件内容:
image: markhobson/maven-chrome:latest
stages:
- flow1
execute job1:
stage: flow1
tags:
- QaFunctional
script:
- export
- set +e -x
- mvn --update-snapshots --define updateResults=${updateResults} clean test
执行管道后出错:
bash: line 328: mvn: command not found
Running after_script
00:00
Uploading artifacts for failed job
00:00
ERROR: Job failed: exit status 127
任何人都可以帮我找出错误吗?那是无法加载 docker 映像吗?当我使用共享跑步者时,我可以执行相同的操作。
解决方案
你得到的错误意味着作业执行器上没有安装 mavenmvn: command not found
看起来您指定的图像image: markhobson/maven-chrome:latest
具有 maven 命令:
# docker run markhobson/maven-chrome:latest mvn --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
您指定的其他内容是tags
:
...
tags:
- QaFunctional
...
因此,当在您的 yaml 中同时指定image
和时,优先考虑并被忽略。tags
tags
image
看起来您的自定义运行程序标记QaFunctional
为未配置 mvn 的 shell 运行程序。
作为解决方案,要么在 docker runner 上安装 mvnQaFunctional
或在 docker runner 上运行作业(应该共享运行器)。为避免这种混淆,请不要指定image
何时要在标记的 shell 运行器上运行作业。
推荐阅读
- c - C - scanf 仅在特定字符序列之后将数字放在引号中
- spring - 扩展 Jhipster JWT (Spring) 单体应用程序以支持模拟
- angular - 无法以角度发送带有不记名令牌的表单数据
- python - Python乌龟:检查一个键是否关闭
- html - Bootstrap 4 改变每行卡片的数量
- apache-flink - Flink keyby 在未更改的同一字段上是否会导致随机播放?
- 3d - CGAL 连接 2 个几何图形
- android - 我的 xml 代码有什么问题?我想做一个 TextInputLayout 但不能
- c# - 在运行时创建泛型类的“实例”
- swift - 领域。项目构建但不归档。iOS 12、斯威夫特 5