gitlabc-ci - запускает набор команд очистки после загрузки артефактов
У меня есть работа по созданию сборок с привилегиями sudo или root. Следовательно, когда очистка каталога происходит в начале выполнения задания в конвейере GitLab CI-CD, я получаю сообщение об ошибке «Permission denied» при очистке элементов репозитория.
Я пробовал реализовать команду с
sudo rm -r *
в
after_script
, но оказывается, что артефакты загружаются после выполнения скриптов в следующем порядке:
before_script
сценарий
after_script
загрузка артефактов
Чего я пытаюсь достичь:
Я ищу способ очистить каталог проекта после загрузки артефактов.
ИЛИ ЖЕ
Если бы я мог указать клонирование репозитория в конкретный (настраиваемый) каталог.
Я новичок в Gitlab Pipelines. Любая помощь будет оценена по достоинству!
1 ответ
Я придумал способ решить эту проблему. Размещение здесь решения на случай, если кто-то столкнется с подобной проблемой.
Есть определенный набор команд, которые я хотел выполнить после правильного выполнения задания и перед клонированием репозитория git для другого задания на том же сервере сборки. Я добился этого, выполнив следующие действия:
В
/etc/gitlab-runner/config.toml
Добавлять
pre_clone_script
ключ, как показано ниже:
pre_clone_script = "<your commands here - for ex: sudo rm *>"
Этот сценарий запускается до клонирования репозитория git.