我有一个简单的Gitlab管道设置,有两个阶段:build&测试。这两个阶段都应该共享缓存文件,但它们看起来并不存在,导致测试阶段失败。尽我所能,问题是每个阶段使用不同的跑步者,缓存的文件使用跑步者ID作为路径的一部分。
.gitlab-ci.ym
...
cache:
key: "build"
untracked: true
...
构建阶段输出以下
Creating cache build...
untracked: found 787 files
Uploading cache.zip to https://runners-cache-1.gitlab.com:443/runner/runner/30dcea4b/project/1704442/build
测试阶段输出以下
Checking cache for build...
$ mvn test
我认为这意味着找不到缓存,因为没有下载信息;但目前尚不清楚。
我还可以看到每个阶段使用不同的跑步者,因为跑步者ID是缓存路径的一部分,我怀疑这是问题所在。
我需要为每个阶段使用相同的跑步者,或者在跑步者之间共享缓存。我不明白怎么做。
任何帮助都将不胜感激。
答案 0 :(得分:2)
cache功能似乎被恰当地命名,它仅用于提高构建性能,并且不能保证拥有数据,就像真正的缓存一样。
正确的方法是将artifacts与dependencies一起使用。