gitlabc-ci - запускает набор команд очистки после загрузки артефактов

У меня есть работа по созданию сборок с привилегиями sudo или root. Следовательно, когда очистка каталога происходит в начале выполнения задания в конвейере GitLab CI-CD, я получаю сообщение об ошибке «Permission denied» при очистке элементов репозитория.

Я пробовал реализовать команду с sudo rm -r * в after_script, но оказывается, что артефакты загружаются после выполнения скриптов в следующем порядке:

  1. before_script

  2. сценарий

  3. after_script

  4. загрузка артефактов

Чего я пытаюсь достичь:

Я ищу способ очистить каталог проекта после загрузки артефактов.

ИЛИ ЖЕ

Если бы я мог указать клонирование репозитория в конкретный (настраиваемый) каталог.

Я новичок в Gitlab Pipelines. Любая помощь будет оценена по достоинству!

1 ответ

Решение

Я придумал способ решить эту проблему. Размещение здесь решения на случай, если кто-то столкнется с подобной проблемой.

Есть определенный набор команд, которые я хотел выполнить после правильного выполнения задания и перед клонированием репозитория git для другого задания на том же сервере сборки. Я добился этого, выполнив следующие действия:

В /etc/gitlab-runner/config.toml Добавлять pre_clone_script ключ, как показано ниже:

pre_clone_script = "<your commands here - for ex: sudo rm *>"

Этот сценарий запускается до клонирования репозитория git.

Другие вопросы по тегам