Per*_*ion 5 continuous-integration node.js gitlab gitlab-ci
使用 gitlab-ci 我使用一个简单的 .yml 文件。我已经定义了同步运行的各个阶段。我已经为 node_modules 设置了缓存。但问题是 node_modules 的缓存实际上减慢了进程。需要此缓存才能使每个阶段的 node_modules 相同。(每个阶段出于某种原因自动清除 /node_modules)
在本地构建时,整个过程不到 2 分钟。但是在 CI 机器上,这个过程需要 20 到 25 分钟。了解 Gitlab CI 在内部如何工作,我了解到它正在压缩 node_module 文件(大约 36K 小文件),并且该过程非常缓慢。
tl; dr:在不将 node_modules 上传到工件的情况下,使用 Gitlab CI 处理 node_module 缓存的正确方法是什么?我想避免上传超过 400MB 的工件。
请参阅下面的配置:
cache:
untracked: true
key: "%CI_COMMIT_REF_NAME%"
paths:
- node_modules
stages:
- install
- eslint-check
- eslint
- prettier
- test
- dist
# install dependancies
install:
stage: install
script:
- yarn install
environment:
name: development
# run eslint-check
eslint-check:
stage: eslint-check
script:
- yarn eslint-check
environment:
name: development
# Other scripts below
Run Code Online (Sandbox Code Playgroud)
看来将来会有一个解决方案,因为这个问题已经在这里讨论了近两年了。已经设定了一个里程碑,因此这个问题最终可以得到解决。
https://gitlab.com/gitlab-org/gitlab-runner/issues/1797
| 归档时间: |
|
| 查看次数: |
1180 次 |
| 最近记录: |