Ответ 1
Так как несколько месяцев назад это возможно с помощью gitlab-runner
:
gitlab-runner exec docker my-job-name
Обратите внимание, что на вашем компьютере должны быть установлены как docker, так и gitlab-runner
.
Вам также понадобится ключ image
определенный в вашем .gitlab-ci.yml
. Иначе не сработает.
Вот строка, которую я сейчас использую для локального тестирования с помощью gitlab-runner
:
gitlab-runner exec docker test --docker-volumes "/home/elboletaire/.ssh/id_rsa:/root/.ssh/id_rsa:ro"
Редактировать: Вы можете избежать добавления
--docker-volumes
с вашим ключом, установив его по умолчанию в/etc/gitlab-runner/config.toml
. Смотрите официальную документацию для более подробной информации.
Из-за путаницы в комментариях я gitlab-runner --help
сюда результат gitlab-runner --help
, чтобы вы могли видеть, что gitlab-runner может создавать сборки локально:
gitlab-runner --help
NAME:
gitlab-runner - a GitLab Runner
USAGE:
gitlab-runner [global options] command [command options] [arguments...]
VERSION:
1.1.0~beta.135.g24365ee (24365ee)
AUTHOR(S):
Kamil Trzciński <[email protected]>
COMMANDS:
exec execute a build locally
list List all configured runners
run run multi runner service
register register a new runner
install install service
uninstall uninstall service
start start service
stop stop service
restart restart service
status get status of a service
run-single start single runner
unregister unregister specific runner
verify verify all registered runners
artifacts-downloader download and extract build artifacts (internal)
artifacts-uploader create and upload build artifacts (internal)
cache-archiver create and upload cache artifacts (internal)
cache-extractor download and extract cache artifacts (internal)
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--debug debug mode [$DEBUG]
--log-level, -l "info" Log level (options: debug, info, warn, error, fatal, panic)
--cpuprofile write cpu profile to file [$CPU_PROFILE]
--help, -h show help
--version, -v print the version
Как видите, команда exec
предназначена для execute a build locally
.
Обратите внимание, что этот процесс состоит в том, чтобы использовать свой собственный компьютер для запуска тестов с использованием док-контейнеров. Это не для определения пользовательских бегунов. Для этого просто зайдите в настройки репозитория CI/CD и прочитайте там документацию. Если вы хотите, чтобы ваш исполнитель выполнялся вместо gitlab.com, добавьте в него настраиваемый и уникальный тег, убедитесь, что он запускает только отмеченные задания, и отметьте все задания, за которые должен отвечать ваш исполнитель.