无法将命令行选项传递给Gitlab CI服务?即“ -p 4444:4444 -p 5900:5900”

问题描述

我正在为量角器测试配置非常基本的Gitlab管道。 只有一项服务使用docker image selenium / standalone-chrome-debug。

我想以服务的形式在GitLab CI中启动映像,但是具有特定的命令行选项:“ docker run -d -p 4444:4444 -p 5900:5900 selenium / standalone-chrome-debug”。 我发现可以通过使用CMD创建自定义docker映像来传递命令行参数(此处https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2514进行详细介绍),但是我对传递命令行选项一无所知。甚至有可能吗?

stage: test
  services:
    - name: selenium/standalone-chrome-debug
  before_script:  
    - removed as it is not relevant
  script:
    - npm run $TEST_SUITE_NAME -- --host=selenium__standalone-chrome-debug

解决方法

您可以使用docker或docker-compose

将您的服务更改为docker:dind,然后尝试

stage: test
  services:
    - name: docker:dind
  before_script:  
    - removed as it is not relevant
    - docker run -d -p 4444:4444 -p 5900:5900 selenium/standalone-chrome-debug
  script:
    - npm run $TEST_SUITE_NAME -- --host=localhost:5900

我没有测试它...但是我认为它可以进行一些改进。