GitLab CI использует неотслеживаемые файлы в репозитории

В данный момент я оцениваю GitLab CI/CD и пытаюсь заставить работать конвейеры, однако у меня возникла простая (?) проблема.

Я пытаюсь автоматизировать процесс сборки, автоматически обновляя образы ISO. Однако эти образы ISO не отслеживаются репозиторием и игнорируются в файле .gitignore. Но это приводит к тому, что когда я пытаюсь запустить make, он не может найти образ ISO...

Я просто использую простой файл .gitlab-ci.yml:

stages:
  - build

build:
  stage: build
  script:
    - make

И когда я пытаюсь запустить это в интерфейсе GitLab CI, он клонирует репозиторий (без образов ISO), а затем терпит неудачу, так как нет правила для этой цели make (поскольку образы ISO отсутствуют). Я попытался переместить файлы в каталог «build», который создает GitLab, однако это дает ошибку, говоря, что у него есть failed to remove ...

Как мне использовать локальный репозиторий вместо того, чтобы GitLab клонировал репозиторий в место «сборки»?


person Rekovni    schedule 29.08.2017    source источник


Ответы (1)


Вы не можете использовать Gitlab CI с файлами, которые находятся на вашем компьютере, по крайней мере, вы не должны. Вы можете сделать это с помощью ssh-executor, который войдет в систему, на которой хранятся iso-файлы (и это должен быть сервер, а не ваш компьютер для разработки), или вы можете попросить исполнителя докера извлечь их из хранилища ftp/object. В целях тестирования вы можете запустите сборки локально на вашем компьютере.

person Jakub Kania    schedule 30.08.2017
comment
Ясно спасибо. Итак, вы бы сказали, что копирование файлов из before_script в место сборки тоже нормально? (В данный момент я использую бегун оболочки). - person Rekovni; 30.08.2017
comment
@Rekovni Да, все будет хорошо, если вас это устраивает. - person Jakub Kania; 30.08.2017