Можно ли запустить Docker-контейнер внутри оболочки GitLab? - PullRequest
0 голосов
/ 20 мая 2019

Я хотел бы запустить интеграционные тесты проекта, представленного клиентом.Указанный клиент предоставил мне список тестов и контейнер Docker (хотя они не дали мне Dockerfile).Я хотел настроить GitLab runner для монтирования этого образа Docker, но для запуска образа необходимы входные параметры, например:

docker run --rm -it -u username -v $SCRIPT_DIR:/tests-folder $HOSTS $DOCKER_IMAGE

Что он делает, так это то, что он запускает Docker в интерактивном режиме, отображая текущий каталогна образ Docker и указывает хост (в отношении которого выполняются тесты).

Однако, насколько мне известно, невозможно настроить бегун Docker GitLab для работы с входными параметрами с помощью команды gitlab-runner register (эти параметры скорее должны быть в Dockerfile как ENTRYPOINT или CMD).

То, что я до сих пор пробовал, - это зарегистрировать программу запуска GitLab на компьютере, на котором размещены тесты, запустить Docker из файла .gitlab-ci.yml и запустить тесты.

stages:
  - test

integration-tests:
  stage: test
  tags:
    - host-vm-shell
  script:
    - docker run --rm -it -u username -v $SCRIPT_DIR:/tests-folder $HOSTS $DOCKER_IMAGE
    - robot test-1.robot 

Но когда я это делаю, он запускает образ Docker и сразу же выходит из него, поэтому, когда я пытаюсь запустить тесты, я снова в оболочке хост-виртуальной машины.

Есть ли способ для меня запустить этот контейнер Docker из среды выполнения Shell GitLab и запустить мои тесты изнутри контейнера?

...