Отказано в разрешении, когда GitLab Runner пытается получить проект - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь настроить конвейер с помощью GitLab CI, но у меня возникли некоторые проблемы с моим Runner, который является бегуном-исполнителем оболочки.

В основном тесты генерируют много файлов. Чтобы сохранить чистую файловую систему, в начале каждого конвейера я запускаю это задание, которое просто стирает весь каталог сборки проекта любых файлов, оставшихся от последнего конвейера:

cleanup_job:
    stage: cleanup_phase
    variables:
        GIT_STRATEGY: none
    script:
        - sudo rm -rf *
        - sudo rm -rf .git
        - cd ~
        - sudo chown -R gitlab-runner builds/

Тогда второе задание предназначен для импорта проекта с GIT STRATEGY: fetch и установки с Composer:

install_framework:
    stage: setup
    variables:
        GIT_STRATEGY: fetch
    script:
         - ls -la
         - eval $(ssh-agent)
         - ssh-add
         - composer install
         - cd ~
         - sudo chown -R gitlab-runner builds/

Моя проблема в том, что если я не удалю папку / home / gitlab-runner / builds перед запуском моего конвейера задание install_framework завершается с ошибкой во время начальной выборки:

Running with gitlab-runner 12.7.1 (003fe500)
   on Local Runner vYk7fjSG
Using Shell executor...
Running on localhost.localdomain...
Fetching changes...
 /home/gitlab-runner/builds/vYk7fjSG/0/ent/qa/test_project/.git: Permission denied
 ERROR: Job failed: exit status 1

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

1 Ответ

0 голосов
/ 09 марта 2020

Исправлено с использованием clone в качестве моего GIT_STRATEGY

...