Я хотел бы запустить интеграционные тесты проекта, представленного клиентом.Указанный клиент предоставил мне список тестов и контейнер 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 и запустить мои тесты изнутри контейнера?