我有一个 setup
在我的 CI 中工作,它安装所有 npm 包并将它们存储在缓存中:
setup:
stage: pre-build
cache:
untracked: true
when: on_success
key:
files:
- repo-hash
prefix: workspace
script:
- yarn install --frozen-lockfile
当前,如果 repo-hash 在两个管道之间没有变化,则作业成功下载现有缓存,但它仍然运行 yarn install --frozen-lockfile
.如何更改此行为,以便如果缓存存在,则跳过此作业?
最佳答案
尝试退出?
install:
stage: install
cache:
key:
files:
- package-lock.json
prefix: $CI_PROJECT_NAME
paths:
- node_modules/
script:
- |
if [[ -d node_modules ]]; then
exit 10
fi
- npm ci --cache .npm --prefer-offline
allow_failure:
exit_codes: 10
关于caching - Gitlab CI - 如果缓存存在,如何跳过作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66543992/