Я пытаюсь скомпилировать и протестировать проект C ++ и использовать ccache для ускорения времени сборки.
Мой .gitlab-ci.yml
позволяет нормально кэшировать с помощью Gitlab Shared Runners, но когда я запускаю тот же конвейер с моим бегуном, задание сообщает о создании кеша и его успешном извлечении при следующем запуске, но файлы не добавляются в пути кеша. .
build:
stage: build
cache:
key: "$CI_COMMIT_REF_SLUG"
paths:
- ccache/
artifacts:
paths:
- build/app/wg-ui
- build/lib/libproject-lib.so*
- build/tests/tests
script:
- echo "Starting build"
- ls
- ls ccache
- mkdir -p build && cd build
- qmake ../
- make -j$(nproc) -Oline CXX="ccache ${CXX}"
Вот секция бегунов моего config.toml
[[runners]]
name = "Laptop-Runner"
url = "https://gitlab.com/"
token = "{REDACTED}"
executor = "docker"
[runners.docker]
tls_verify = false
image = "alpine:latest"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
cache_dir = ""
shm_size = 0
pull_policy = "if-not-present"
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
Есть ли шаг настройки, который я пропустил? Нужно ли что-то делать с моим config.toml?
Обновление
Вместо того, чтобы использовать Docker for Windows
, который я использовал ранее, я решил настроить виртуальную машину и запустить Docker и Gitlab-Runner оттуда.
Использование точно такого же кэширования .gitlab-ci.yml
и config.toml
работало отлично, как и ожидалось; Поэтому я предполагаю, что проблема связана либо с моей конфигурацией Docker, либо с реализацией Windows Gitlab Runner.