【发布时间】:2019-04-27 12:54:20
【问题描述】:
我有一个使用 GitLab CI 构建、测试和部署的 Vue Web 应用程序。
GitLab CI 有一个“Cache”功能,可以缓存 Job 的特定产品,这样可以避免将来在同一 Pipeline 中运行 Job,而是使用缓存的产品。
我想通过缓存node_modules 目录来提高我的工作流程的性能,以便它可以跨管道共享。
GitLab Docs suggests 使用${CI_COMMIT_REF_SLUG} 作为缓存键来实现这一点。但是,这意味着“每个分支缓存”,我想对此进行改进。
我想要一个缓存“每个 package.json”。即只有package.json的内容发生变化,缓存键才会变化,npm install才会运行。
我正在考虑使用package.json 文件内容的哈希值作为缓存键。 GitLab CI 可以做到这一点吗?如果有,怎么做?
【问题讨论】:
-
一个很好的问题。做着同样的梦!
-
现在好像不可能,但是对应的feature request已经存在了。