我必须将GitLab-CI.yml文件中的services: docker
更改为services: docker:19.03.5-dind
,因为我正在处理一些兼容性问题,但现在GitLab CI runner在容器中导入Python 2.7的enum
时遇到问题:
Running after script...
00:01
$ docker-compose down
Traceback (most recent call last):
File "/usr/bin/docker-compose", line 7, in <module>
from compose.cli.main import main
File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 35, in <module>
from ..project import get_image_digests
File "/usr/lib/python2.7/site-packages/compose/project.py", line 11, in <module>
import enum
ImportError: No module named enum
ERROR: Job failed: exit code 1
这是我的GitLab-CI.yml文件:
image: docker:stable
services:
- docker:19.03.5-dind
stages:
- build
before_script:
- export REACT_APP_USERS_SERVICE_URL=http://127.0.0.1
compile:
stage: build
script:
- apk add --no-cache py-pip python-dev libffi-dev openssl-dev gcc libc-dev make
- pip install docker-compose
- docker-compose up -d --build
- docker-compose exec -T users python manage.py recreate_db
- docker-compose exec -T users python manage.py seed_db
- docker-compose exec -T users python manage.py test
- docker-compose exec -T users flake8 project
after_script:
- docker-compose down
很明显,Docker试图拉Python的enum
模块来执行某些任务,但失败了。我应该如何解决这个问题
编辑:
我在构建脚本中添加了python3-dev
,使其读起来像这样
- apk add --no-cache py-pip python-dev python3-dev libffi-dev openssl-dev gcc libc-dev make
令人惊讶的是,这也无济于事。同样的错误
目前没有回答
相关问题 更多 >
编程相关推荐