Я создаю gitlab-ci для запуска тестов e2e над моим приложением, поэтому, если у меня есть этот docker-compose.yml:
services:
chrome:
image: zenika/alpine-chrome:latest
command: [
chromium-browser,
"--headless",
"--no-sandbox",
"--disable-gpu",
"--ignore-certificate-errors",
"--reduce-security-for-testing",
"--remote-debugging-address=0.0.0.0",
"--remote-debugging-port=9222",
"https://google.com/",
]
ports:
- "9222:9222"
networks:
- test-e2e
networks:
test-e2e:
ipam:
driver: default
config:
- subnet: 172.28.0.0/16
, когда я запускаю docker-compose up
, все просто работает нормально,и на моей локальной машине я могу посетить localhost:9222
и получить доступ к отладчику Chrome.
Однако, когда я запускаю ту же работу на gitlab-ci, я получаю ошибку ECONNREFUSED :
F---F
Failures:
1) Scenario: List of Profiles # src/features/profile.feature:3
✖ Before # dist/node/development/webpack:/hooks/puppeteer.hooks.ts:17
Failed to fetch browser webSocket url from http://localhost:9222/json/version: connect ECONNREFUSED 127.0.0.1:9222
Error: connect ECONNREFUSED 127.0.0.1:9222
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
Итак, ясно, что Я не могу присоединиться к сети docker-compose и получить доступ к localhost:9222
из задания
My gitlab-ci.yml
довольно прост и выглядит так:
E2E tests:
stage: test end-to-end
image:
name: docker/compose:1.24.1
entrypoint: ["/bin/sh", "-c"]
services:
- docker:dind
before_script:
- apk --update add nodejs yarn
- docker-compose -f test-e2e.yaml up -d
script:
- yarn test:cucumber
after_script:
- docker-compose -f test-e2e.yaml down
yarn test:cucumber
в основном запускает огурца и кукловода, пытающегося получить доступ к localhost:9222
, чтобы получить метаданные chrome.
Как я могу присоединитьсясеть, созданная docker-compose из задания gitlab-ci?
- У меня нет доступа для редактирования конфигураций бегуна