# 流程
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里面生成的内容没办法进入下一阶段,就会提示找不到文件的问题,该如何解决?
题主把cache放在根节点,就会在每个阶段的job中都重新拉取一次缓存,更新一次缓存。
Gitlab-CI,其实可以为每个不同的job定制不同的缓存和策略。
把缓存设置放到job里: