将GitLab CI与Python“onbuild”映像一起使用,则要求.txt似乎没有安装

2024-10-01 22:27:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过一个测试项目来熟悉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作业失败,并显示以下错误消息:

^{pr2}$

但是,存储库中有一个requirements.txt,其中只有一行pytest==3.0.7。在我看来,从python:2.7-onbuild映像的Dockerfile来看,pip install -r requirements.txt应该在构建时运行。那么为什么找不到pytest?在


Tags: 项目httpstesttxtcomci环境pytest
2条回答

如果您查看链接到的Dockerfile,您将看到pip install -r requirements.txtonbuild命令的一部分。如果您想从第一个容器创建一个新容器并安装一系列需求,那么这很有用。因此,pip install -r requirements.txt命令不会在CI管道中的容器中执行,如果是,它将在一开始执行,甚至在gitlab存储库被克隆之前执行。在

我建议您用这种方式修改.gitlab-ci.yml文件

image: python:2.7-onbuild
services:
  - rethinkdb:latest
test_job:
  script:
    - pip install -r requirements.txt
    - pytest

这个问题似乎是间歇性的:虽然第一次运行测试需要61分钟(最初失败),但现在大约需要一分钟(见下面的屏幕抓图)。在

作为参考,测试存储库位于https://gitlab.com/khpeek/CI-test。(我必须添加一个before_script和一些pip install来使工作成功)。在

enter image description here

相关问题 更多 >

    热门问题