GitLab CI/CD中基于Docker Compose运行Python单元测试的配置问题求助
GitLab CI/CD中基于Docker Compose运行Python单元测试的配置问题求助
大家好,我最近在尝试用Docker Compose在GitLab里搭建CI/CD流水线,目的是运行我的Flask应用的单元测试——这些测试需要连接到PostgreSQL数据库才能正常执行。折腾了好几天,各种调整配置都没成功,实在没思路了,想请教下各位有没有解决办法,或者有没有更简单的实现方式?
先给大家看下我的配置文件:
docker-compose.yml
version: '3.8' services: postgres: build: context: . dockerfile: ./dockerfile-db environment: POSTGRES_USER: 'xxx' POSTGRES_PASSWORD: 'xxx' flask: build: context: . dockerfile: ./dockerfile-flask ports: - "5000:5000" expose: - "5000" depends_on: - postgres environment: DB_HOST: 'postgres' DB_PORT: 5432 DB_USER: 'xxx' DB_PW: 'xxx' SECRET_KEY: 'secretkey' APP_SETTINGS: 'config.SecureConfig' links: - postgres
.gitlab-ci.yml
image: docker/compose:latest default: tags: - python stages: - test test_stage: stage: test script: - docker-compose up -d - docker-compose ps - docker-compose logs flask - docker-compose exec flask python -m unittest
遇到的问题
我加了docker-compose ps和docker-compose logs flask这两个命令来排查问题,但结果是docker-compose ps输出了一个空表,GitLab Runner也没有给出更多错误说明。目前我用的是Shell执行器,之前试过用Docker执行器加Docker-in-Docker(DinD)的配置,但遇到了这个错误:
error during connect: Get "http://docker:2375/v1.24/containers/[...]": dial tcp: lookup docker on XXX.XX.XX.XXX:XX: server misbehaving
这个错误里的IP是网络里另一台服务器的地址,完全不是我用的Runner所在的服务器。
真心希望大家能给点建议或者解决方案,谢谢了!
备注:内容来源于stack exchange,提问作者diamon
相关产品推荐
相关产品推荐

