缓存文件不存储GitLab CI中的所有阶段

时间:2017-04-25 08:48:46

标签: git gitlab gitlab-ci gitlab-ci-runner

我有用于构建和运行测试的gitlab-ci脚本。但是,删除了在构建过程中创建的目录。 我的剧本:

stages:
  - build
  - test

server:
  stage: build
  script:
  - cd Server/NodeJS
  - npm install
  - npm install zmq
  cache:
    key: "$CI_BUILD_NAME"
    untracked: true
    paths:
    - Server/NodeJS/node_modules/

client:
  stage: build
  script:
  - cd Client/web
  - npm install
  - npm run build-demo
  - npm run build-main
  cache:
    key: "$CI_BUILD_NAME"
    untracked: true
    paths:
    - Client/web/build-main/

functional_tests:
  stage: test
  script:
  - cd Server/NodeJS
  - ls node_modules/
  - ls ../../Client/web/
  ...

ls不会打印缓存目录。我做错了什么?

1 个答案:

答案 0 :(得分:2)

由于您还没有定义全局缓存,functional_tests工作中的缓存都没有,它也不知道有任何缓存。

你需要做这样的事情:

functional_tests:
  stage: test
  script:
  - cd Server/NodeJS
  - ls node_modules/
  - ls ../../Client/web/
  cache:
    key: "$CI_BUILD_NAME"
    untracked: true
    paths:
    - Client/web/build-main/
    - Server/NodeJS/node_modules/

此外,请注意缓存是在尽力而为的基础上提供的,因此不要期望缓存始终存在。

因此你不能假设总有缓存,你需要编写脚本,因为没有。