В GitlabCI у меня есть настройка кэширования, и она работает правильно:
cache:
key: gradle
paths:
- .gradle/caches
before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle
Для ускорения процесса загрузки моего кэша (<20 с); и воспользоваться <a href="https://github.com/gitlabhq/gitlab-runner/blob/337e5732877eff44ba1eb5b4270812eaf77f4fd9/commands/helpers/cache_archiver.go#L80-L85" rel="nofollow noreferrer"> этим ; Я удаляю «лишние» файлы, которые были обновлены во время сборки:
after_script:
- rm -rf .gradle/caches/$GRADLE_VERSION/
- rm .gradle/caches/journal-1/file-access.bin
- find .gradle/caches/ -name "*.lock" -type f -delete
Я ожидаю, что CI пропустит загрузку кэша, поскольку ни один из файлов больше не обновлялся. т.е. результат
- find .gradle/caches/ -mmin -5 -exec ls -la {} +
также является пустым списком.
Но это не тот случай, и мой кэш загружается при каждом задании.
Я что-то упустил еще? Кто-нибудь еще сталкивался с этим?