#git #gitlab #gitlab-ci #gitlab-ci-runner
#git #gitlab #gitlab-ci #gitlab-ci-runner
Вопрос:
Мой builds_dir по умолчанию на рабочем сервере /root/builds/qL8eZYTH/0/faramarzqoshchi/testing_gitlab_runner/
— это то, что я хочу, чтобы /home/[domain_name]/public_html/test_build
это было для моего этапа тестирования.
я определил переменную builds_dir в /etc/gitlab-runner/config.toml
/home/[domain_name]/public_html/test_build
значении with , но она по-прежнему не подталкивает testing_gitlab_runner
проект к /home/[domain_name]/public_html/test_build
этому.
все ли я делаю правильно? это правильный способ перенести различные этапы, такие как тестирование и производство, на сервер?
ОС: Centos
Ответ №1:
Согласно документам, вам также необходимо включить custom_build_dir
параметр, который по умолчанию включен только для исполнителей docker и kubernetes:
[runners.custom_build_dir]
enabled = true
Смотрите здесь для получения дополнительной информации об этом параметре.
Также вы должны попытаться установить переменную $GIT_CLONE_PATH
:
variables:
GIT_CLONE_PATH: $CI_BUILDS_DIR/project-name
test:
script:
- pwd
GIT_CLONE_PATH всегда должен находиться в пределах $CI_BUILDS_DIR . Каталог, установленный в $CI_BUILDS_DIR, зависит от исполнителя и конфигурации параметра runners.builds_dir.
Это можно использовать только в том случае, если параметр custom_build_dir включен в конфигурации бегуна. Это конфигурация по умолчанию для исполнителей docker и kubernetes.
Так что в вашем конкретном случае я бы попробовал это в вашем config.toml
:
builds_dir = "/home/[domain_name]/public_html/test_build"
[runners.custom_build_dir]
enabled = true
И добавьте это в верхнюю часть вашего .gitlab-ci.yml
:
variables:
GIT_CLONE_PATH: $CI_BUILDS_DIR/testing_gitlab_runner