Gitlab-runner изменить builds_dir

#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