[英]Trying to launch docker container for selenium/standalone-chrome with port and volume configurations
[英]Launch tests selenium/standalone-chrome gitlab-ci
聖誕快樂,親愛的聰明的參與者我有這份工作
test-dev:
stage: test
script:
- mkdir -p tests/js/screens/diffs
- docker run --rm -d --name=browser_$CI_JOB_ID -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome
- npx mocha tests/js/screenshots-* --timeout 50000
- npx playwright test tests/js/pw_*
- php artisan test
- docker stop browser_$CI_JOB_ID
artifacts:
when: always
name: $CI_COMMIT_SHA
untracked: true
paths:
- tests/js/screens
- tests/js/report
cache:
when: always
paths:
- storage/framework
- vendor/ #composer packages
- node_modules
- public
key:
files:
- vendor/ #composer packages
- composer.lock
tags:
- test_new_runner
相同的工作,但正在進行重建
test-dev:
# allow_failure: true
stage: test
image: selenium/standalone-chrome
script:
- mkdir -p tests/js/screens/diffs
# - docker run --rm -d --name=browser_$CI_JOB_ID -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome
- npx mocha tests/js/screenshots-* --timeout 50000
- npx playwright test tests/js/pw_*
- php artisan test
# - docker stop browser_$CI_JOB_ID
artifacts:
when: always
name: $CI_COMMIT_SHA
untracked: true
paths:
- tests/js/screens
- tests/js/report
cache:
when: always
paths:
- storage/framework
- vendor/ #composer packages
- node_modules
- public
key:
files:
- vendor/ #composer packages
- composer.lock
tags:
- test_new_runner
我想刪除 docker 啟動,因為它失敗了,但我不知道如何將它與圖像一起使用但是如果我使用圖像我里面沒有 npx 我不知道如何做到這一點,可以有人幫忙嗎?
您可以使用基本映像docker:20.10.16
npx
安裝 npx 然后使用service
運行docker dind
然后在您的 docker 中運行 selenium 瀏覽器。
像:
test-dev:
stage: test
image: docker:20.10.16
services:
- docker:dind
script:
- apk add --update npm
- mkdir -p tests/js/screens/diffs
- docker run --rm -d --name=browser_$CI_JOB_ID -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome
- npx mocha tests/js/screenshots-* --timeout 50000
- npx playwright test tests/js/pw_*
- php artisan test
- docker stop browser_$CI_JOB_ID
artifacts:
when: always
name: $CI_COMMIT_SHA
untracked: true
paths:
- tests/js/screens
- tests/js/report
cache:
when: always
paths:
- storage/framework
- vendor/ #composer packages
- node_modules
- public
key:
files:
- vendor/ #composer packages
- composer.lock
tags:
- test_new_runner
希望這有效。
我做了@Prabhu 寫的但它注意到最后一步
test-dev:
stage: test
image: docker:20.10.16
services:
- docker:dind
script:
- apk add --update npm
- mkdir -p tests/js/screens/diffs
- docker run --rm -d --name=browser_$CI_JOB_ID -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome
- npx mocha tests/js/screenshots-* --timeout 50000
- npx playwright test tests/js/pw_*
- php artisan test
- docker stop browser_$CI_JOB_ID
artifacts:
when: always
name: $CI_COMMIT_SHA
untracked: true
paths:
- tests/js/screens
- tests/js/report
cache:
when: always
paths:
- storage/framework
- vendor/ #composer packages
- node_modules
- public
key:
files:
- vendor/ #composer packages
- composer.lock
tags:
- test_new_runner
完成此步驟后,您應該像那樣在容器中共享 docker 套接字
[[runners]]
name = "23.01.01"
url = ""
id = 19
token = ""
token_obtained_at = 2023-01-02T05:52:07Z
token_expires_at = 0001-01-01T00:00:00Z
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
MaxUploadedArchiveSize = 0
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "ruby:2.7"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]
shm_size = 0
研究卷
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.