GitLab CI 中的所有阶段都没有存储缓存文件
Cache files isn't storing for all stages in GitLab CI
我有用于构建和 运行 测试的 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 不打印缓存目录。我做错了什么?
由于您没有定义全局缓存,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/
另外,请注意缓存是在尽力而为的基础上提供的,所以不要指望缓存会一直存在。
因此你不能假设总是有缓存,你需要编写脚本,因为没有缓存。
我有用于构建和 运行 测试的 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 不打印缓存目录。我做错了什么?
由于您没有定义全局缓存,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/
另外,请注意缓存是在尽力而为的基础上提供的,所以不要指望缓存会一直存在。
因此你不能假设总是有缓存,你需要编写脚本,因为没有缓存。