Gitlab CI / CD缓存无法在多个阶段使用

时间:2020-09-14 18:15:58

标签: caching continuous-integration gitlab gitlab-ci

我有两个阶段

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

怎么了?我不明白为什么缓存在测试版本中不可见。当我创建可见的第三阶段缓存时,看起来缓存仅在阶段的一步中可见。

0 个答案:

没有答案