我对使用 Gitlab CI 进行自动化测试有点迷失。我希望我能解释我的问题,以便有人可以帮助我。我会先尝试解释情况,然后尝试提出一个问题(这比听起来更难)
情况
建筑学
- 使用 Jest 单元测试和 Cypress e2e 测试来响应前端
- Django API 服务器 1 包括 Postgres 数据库和测试
- 带有 MongoDB 数据库的 Django API 服务器 2(与其他 API 通信)
GitLab
对于 2 个 API,有一个Docker和一个docker-compose文件。这些工作正常并且设置正确。
我们使用 GitLab 进行 CI/CD,按顺序有以下阶段:
- 构建:其中 1、2 和 3 的 docker 是单独构建的并推送到私有注册表
- 测试:单元测试和 e2e 测试(应该)运行的地方
- Release: docker镜像发布的地方
- 部署:部署 docker 镜像的位置
目标
我想设置 GitLab CI 以运行 cypress 测试。但为此,需要所有构建泊坞窗。目前,在执行端到端测试时,我无法一起使用所有泊坞窗。
问题
我真的不明白我将如何实现这一目标。
- 我可以使用在构建阶段构建的 Docker 进行 e2e 测试吗?有人可以给我一个如何实现这一点的示例吗?(通过将构建 docker 容器作为服务运行?)
- 我是否需要一个包含所有 docker 和数据库的 Docker-compose 文件? …