jof*_*rly 5 continuous-integration gitlab-ci e2e-testing gitlab-ci-runner
我有一个 web 应用程序,由以下部分组成: - 前端存储库 (Angular 8) - 后端存储库 (Node.js/NestJS 6)
我使用 Gitlab 作为 SCM 提供程序、docker 注册表和 CI/CD 工具。安装、检查、测试(单元)和构建已经可以与 CI 配合使用。
现在我想介绍我使用 Cypress 在前端存储库中添加的 E2E 测试。
为了使测试正常工作,我需要 - 运行后端(使用 docker-compose),包括 S3 模拟和数据库(mongo) - 将演示数据插入后端(为此获得一个脚本) - 运行指向后端 API - 运行 cypress 测试
我的问题是:如何运行包含 CI 阶段中的依赖项的 dockerized 后端,以便我有一个后端实例来运行 e2e 测试?
我已经尝试在舞台内通过 docker-compose 运行后端。这导致容器启动,但无法从 gitlab-runner 容器内访问它们。
这是前端存储库 .gitlab-ci.yml 中的一个阶段:
e2e:
image: docker:stable
stage: e2e
script:
- apk add --no-cache py-pip python-dev libffi-dev openssl-dev gcc libc-dev make nodejs npm git curl
- pip install docker-compose
- npm install -g wait-on spa-http-server forever
- docker-compose up -d
- wait-on http://localhost:4000/api/ && curl -X POST http://localhost:4000/global/createDemoData
- npm run build
- forever start -c http-server dist/XXX/ -p 4200 --push-state
- wait-on http://localhost:4200 && npm run e2e-ci
- forever stopall
- docker-compose down
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1399 次 |
| 最近记录: |