cache
在作业之间缓存目录以加速流水线。
支持: key(字符串、files、prefix)、policy、when、untracked、unprotect、fallback_keys、多个缓存
示例
字符串形式的 key
job:
script: echo "job"
cache:
key: my-cache
paths:
- vendor/
基于文件的 key
job:
script: echo "job"
cache:
key:
files:
- Gemfile.lock
paths:
- vendor/
带前缀的 key
job:
script: echo "job"
cache:
key:
files:
- Gemfile.lock
prefix: $CI_JOB_NAME
paths:
- vendor/
缓存策略
job:
script: echo "job"
cache:
key: my-cache
paths:
- vendor/
policy: pull
失败时缓存
job:
script: echo "job"
cache:
key: my-cache
paths:
- vendor/
when: on_failure
后备 key
job:
script: echo "job"
cache:
key: my-cache
paths:
- vendor/
fallback_keys:
- fallback-key-1
- fallback-key-2
未跟踪文件
job:
script: echo "job"
cache:
untracked: true
paths:
- vendor/
取消缓存保护
job:
script: echo "job"
cache:
key: my-cache
paths:
- vendor/
unprotect: true
多个缓存
job:
script: echo "job"
cache:
- key: gems
paths:
- vendor/gems/
- key: node
paths:
- node_modules/