У меня есть проект GitLab, и мой .gitlab-ci.yml
выглядит следующим образом:
stages:
- build
- deploy
image: registry.gitlab.com/myuser/myproj/ubuntuxenial:v1
before_script:
- cd /home
- mkdir docker
- cd docker
- git clone "https://xxx@github.com/myuser/myproj.git" repo
- cd repo
render_site:
stage: build
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME--$CI_JOB_STAGE-$CI_COMMIT_REF_NAME"
expire_in: 1 week
paths:
- home/docker/repo/
script:
- Rscript build.R
...
Я предоставил основные части файла в контексте этой проблемы.Как видите, эта автоматизация предназначена для выполнения следующих действий:
- Клонирование репозитория.
- Вызов команды сборки внутри репозитория (я использую R).На этом шаге будут сгенерированы некоторые выходные файлы в папке репозитория.
- Обязательно опубликуйте артефакты, я хочу опубликовать содержимое всего каталога репозитория
repo
.
Примечание Я настроил GitLab на использование изображений Docker.Я использую образ Unix, загруженный в реестр.
Проблема
Проблема возникает в первом задании: render_site
.Все идет хорошо, команды выполняются и все хорошо.Однако последняя строка в журнале для этой задачи:
Uploading artifacts...
WARNING: home/docker/repo/: no matching files
ERROR: No files to upload
Устранение неполадок
Я понимаю, что проблема заключается в пути, указанном мной в .gitlab-ci.yml
.Я пробовал следующее:
home/docker/repo/
/home/docker/repo/
repo/
Ничего не работает.Этот путь, который мы указываем, что это относительно ???В документации упоминается:
Вы можете использовать только пути, которые находятся в рабочей области проекта.
Что это значит?Я создаю контейнер каждый раз, когда я нажимаю и cd
в разные каталоги в командах, которые я указываю в .gitlab-ci.yml
, так что такое рабочая область проекта 1054 *, о которой упоминает документация?