gitlab-ci部署前端项目关于缓存的问题
# 流程
stages:
- install
- build
- deploy
# 缓存
cache:
paths:
- node_modules/
- dist/
# 安装依赖
install:
stage: install
only:
- test
tags:
- test-vue
script:
- cnpm install
- whoami
- ls
# 构建
build:
stage: build
only:
- test
tags:
- test-vue
script:
- pwd
- whoami
- npm run build
artifacts:
name: 'bundle'
paths:
- dist/
# 部署开发服务器
deploy:
stage: deploy
only:
- test
tags:
- test-vue
script:
- "[[ -z ${CI_PROJECT_PATH_SLUG} ]] && echo 'CI_PROJECT_PATH_SLUG is empty.' && exit 1"
- "webpath=/www/web/${CI_PROJECT_PATH_SLUG}"
- rsync -azv dist/ ${webpath}
- echo ${webpath}
问题在全部设置了cache,然后部署的时候读取了dist里面的缓存,这样部署的都是缓存,可是不设置缓存,在不同job里面生成的内容没办法进入下一阶段,就会提示找不到文件的问题,该如何解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
题主把cache放在根节点,就会在每个阶段的job中都重新拉取一次缓存,更新一次缓存。
Gitlab-CI,其实可以为每个不同的job定制不同的缓存和策略。
把缓存设置放到job里: