cache
Cache directories between jobs to speed up pipelines.
Supported: key (string, files, prefix), policy, when, untracked, unprotect, fallback_keys, multiple caches
Examples
Key as string
job:
script: echo "job"
cache:
key: my-cache
paths:
- vendor/
Key based on files
job:
script: echo "job"
cache:
key:
files:
- Gemfile.lock
paths:
- vendor/
Key with prefix
job:
script: echo "job"
cache:
key:
files:
- Gemfile.lock
prefix: $CI_JOB_NAME
paths:
- vendor/
Cache policy
job:
script: echo "job"
cache:
key: my-cache
paths:
- vendor/
policy: pull
Cache on failure
job:
script: echo "job"
cache:
key: my-cache
paths:
- vendor/
when: on_failure
Fallback keys
job:
script: echo "job"
cache:
key: my-cache
paths:
- vendor/
fallback_keys:
- fallback-key-1
- fallback-key-2
Untracked files
job:
script: echo "job"
cache:
untracked: true
paths:
- vendor/
Unprotect cache
job:
script: echo "job"
cache:
key: my-cache
paths:
- vendor/
unprotect: true
Multiple caches
job:
script: echo "job"
cache:
- key: gems
paths:
- vendor/gems/
- key: node
paths:
- node_modules/