我试图通过一个测试项目来熟悉Gitlab CI环境,https://gitlab.com/khpeek/CI-test。该项目具有以下.gitlab-ci.yml
:
image: python:2.7-onbuild
services:
- rethinkdb:latest
test_job:
script:
- pytest
问题是CI管道中的test_job
作业失败,并显示以下错误消息:
但是,存储库中有一个requirements.txt
,其中只有一行pytest==3.0.7
。在我看来,从python:2.7-onbuild
映像的Dockerfile来看,pip install -r requirements.txt
应该在构建时运行。那么为什么找不到pytest
?在
如果您查看链接到的Dockerfile,您将看到
pip install -r requirements.txt
是onbuild命令的一部分。如果您想从第一个容器创建一个新容器并安装一系列需求,那么这很有用。因此,pip install -r requirements.txt
命令不会在CI管道中的容器中执行,如果是,它将在一开始执行,甚至在gitlab存储库被克隆之前执行。在我建议您用这种方式修改
.gitlab-ci.yml
文件这个问题似乎是间歇性的:虽然第一次运行测试需要61分钟(最初失败),但现在大约需要一分钟(见下面的屏幕抓图)。在
作为参考,测试存储库位于https://gitlab.com/khpeek/CI-test。(我必须添加一个
before_script
和一些pip install
来使工作成功)。在相关问题 更多 >
编程相关推荐