Кеш GitLab не может найти подходящие файлы
Мой Gitlab CI выглядит следующим образом:
stages:
- test
cache:
key: ${CI_COMMIT_SHA}
paths:
- mymark
test:
stage: test
script:
- ls -l
- echo "hi" > mymark
- ls -l
tags:
- myrunner
only:
- dev
Файл mymark
создается сценариями сборки:
$ ls -l
total 76
-rw-r--r-- 1 root root 3 Mar 15 10:48 mymark
Но GitLab этого не видит:
Creating cache 122f151d6b0a9d37cfa2172941d642e5c48287fc...
WARNING: mymark: no matching files
Created cache
Job succeeded
Кажется, это происходит случайно: иногда файл найден, иногда нет:
Creating cache 63d295dad175370aa61d13c4d2f3149e050df5e0...
mymark: found 1 matching files
Created cache
Job succeeded
1 ответ
Это потому что cache
может использоваться только для файлов внутри вашего проекта, поэтому даже
cache:
paths:
- /my_root_path
позволит GitLab CI искать /home/user/yourproject/my_root_path.
Это может случиться, когда вы cd
из исходного каталога в любом before_script
или же script
директивы.
Убедись, что ты cd
вернуться к исходному каталогу, в котором вы были, поэтому cache
код может видеть пути, которые он ищет.