【发布时间】:2021-12-24 18:43:48
【问题描述】:
我有一个带有 selenium 的 testng 项目,用于在 vuejs 和 springboot 后端进行前端应用程序的集成测试。因此,为了运行测试,我首先需要调出所有依赖项目:
- springboot 和 mongodb
- vuejs 前端应用
每个项目都在自己的仓库中。
所以我创建了 springboot 和前端应用程序的 docker 镜像,并将其放在gitlab container registry 中。
然后在testeng项目中计划在.gitlab-ci.yml中使用docker-compose。这里是 docker-compose.yml 用于 testng 项目:
version: '3.7'
services:
frontendapp:
image: demo.app-frontend-selenium
container_name: frontend-app-selenium
depends_on:
- demoapi
ports:
- 8080:80
demoapi:
image: demo.app-backend-selenium
container_name: demo-api-selenium
depends_on:
- mongodb
environment:
- SPRING_PROFILES_ACTIVE=prod
- SCOUNT_API_ENDPOINTS_WEB_CORS_OPTIONS_ALLOWEDORIGINS=*
- SPRING_DATA_MONGODB_HOST=mongodb
- SPRING_DATA_MONGODB_DATABASE=demo-api-selenium
- KEYCLOAK_AUTH-SERVER-URL=https://my-keycloak-url/auth
ports:
- 8082:80
mongodb:
image: mongo:4-bionic
container_name: mongodb-selenium
environment:
MONGO_INITDB_DATABASE: demo-api-selenium
ports:
- 27017:27017
volumes:
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
在 gitlab-ci.yml 中运行 docker-compose 后,为了执行测试,前端应用程序的 url 是什么? 当我在本地执行此操作时,我使用以下网址进行测试:
- 前端应用:http://localhost:8080
- api:http://localhost:8082
但如果在 gitlab ci 上运行,访问前端和 api 的 url 是什么?
【问题讨论】:
-
您能否提供您的
.gitlab-ci.yml的相关部分——您是否使用docker:dind服务?
标签: docker-compose gitlab devops gitlab-ci