我有两个阶段
stages:
install (1 job)
test (2 jobs)
在install
阶段,我正在安装模块并进行缓存。
在阶段test
中,我正在测试代码。问题是缓存仅在一个阶段可见。
image: node:14-alpine
stages:
- install
- test
.globalModulesCache: &globalModulesCache
key:
files:
- yarn.lock
prefix: yarn-lock-cache-key
paths:
- node_modules/
install:
stage: install
cache:
<<: *globalModulesCache
policy: pull-push
tags:
- docker
script:
- ls
- yarn // creating cache - node_modules
test-types:
stage: test
cache:
<<: *globalModulesCache
policy: pull
tags:
- docker
script:
# Successfully extracted cache
- ls // NODE_MODULES EXIST :-)
- yarn types
test-build:
stage: test
cache:
<<: *globalModulesCache
policy: pull
tags:
- docker
script:
# Successfully extracted cache
- ls // NODE_MODULES DOESN`T EXIST !!!
- yarn build
怎么了?我不明白为什么缓存在测试版本中不可见。当我创建可见的第三阶段缓存时,看起来缓存仅在阶段的一步中可见。