Построение docker container для тестов selenium
Собираю docker image для использования в gitlab-ci Что я уже написал:
FROM ubuntu:latest as ubuntu
FROM php:8.1-cli as php
FROM node:14.15.0-stretch AS node
FROM selenium/standalone-chrome:latest
COPY --from=ubuntu /bin /bin
COPY --from=php /app /app
COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules
COPY --from=node /usr/local/bin/node /usr/local/bin/node
RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
# EXPOSE 4444
# EXPOSE 7900
LABEL miekrif uzvar-selenium
ENTRYPOINT ["/bin/bash"]
Чего я хотел добиться: У меня есть stage в .gitlab-ci.yml со след пунктами:
test-dev:
stage: test
image: miekrif/uzavr-selenium:latest
script:
- npm i
- npm run prod
- nohup /opt/bin/start-selenium-standalone.sh &
- npx mocha tests/js/screenshots-* --timeout 50000
- npx playwright test tests/js/pw_*
- php artisan test
Чего я хочу добиться: Данная джоба существует для тестирования кода, не смог додуматься как подругому завести selenium\standalone-chrome чтобы npx смог провести тесты ибо он ссылается на 127.0.0.1
Сейчас контейнер выдает ошибку:
/usr/bin/sh: /usr/bin/sh: cannot execute binary file
Источник: Stack Overflow на русском