小编J N*_*len的帖子

如何使用多个 Docker 设置 Gitlab CI E2E 测试

我对使用 Gitlab CI 进行自动化测试有点迷失。我希望我能解释我的问题,以便有人可以帮助我。我会先尝试解释情况,然后尝试提出一个问题(这比听起来更难)

情况

建筑学

  1. 使用 Jest 单元测试和 Cypress e2e 测试来响应前端
  2. Django API 服务器 1 包括 Postgres 数据库和测试
  3. 带有 MongoDB 数据库的 Django API 服务器 2(与其他 API 通信)

GitLab

对于 2 个 API,有一个Docker和一个docker-compose文件。这些工作正常并且设置正确。

我们使用 GitLab 进行 CI/CD,按顺序有以下阶段:

  1. 构建:其中 1、2 和 3 的 docker 是单独构建的并推送到私有注册表
  2. 测试:单元测试和 e2e 测试(应该)运行的地方
  3. Release: docker镜像发布的地方
  4. 部署:部署 docker 镜像的位置

目标

我想设置 GitLab CI 以运行 cypress 测试。但为此,需要所有构建泊坞窗。目前,在执行端到端测试时,我无法一起使用所有泊坞窗。

问题

我真的不明白我将如何实现这一目标。

  • 我可以使用在构建阶段构建的 Docker 进行 e2e 测试吗?有人可以给我一个如何实现这一点的示例吗?(通过将构建 docker 容器作为服务运行?)
  • 我是否需要一个包含所有 docker 和数据库的 Docker-compose 文件? …

continuous-integration gitlab docker docker-compose

6
推荐指数
2
解决办法
3817
查看次数