GitLab缓存无法可靠地找到匹配的文件

时间:2018-03-15 11:10:21

标签: gitlab gitlab-ci gitlab-ci-runner

我的gitlab CI如下:

stages:
  - test

cache:
  key: ${CI_COMMIT_SHA}
  paths:
    - mymark

test:
  stage: test
  script:
    - ls -l
    - echo "hi" > mymark
    - ls -l
  tags:
    - myrunner
  only:
    - dev

文件mymark由构建脚本创建:

$ ls -l
total 76
-rw-r--r--  1 root root    3 Mar 15 10:48 mymark

但是GitLab没有看到它:

Creating cache 122f151d6b0a9d37cfa2172941d642e5c48287fc...
WARNING: mymark: no matching files                 
Created cache
Job succeeded

这似乎是随机发生的:有时会找到文件,有时不会:

Creating cache 63d295dad175370aa61d13c4d2f3149e050df5e0...
mymark: found 1 matching files               
Created cache
Job succeeded

2 个答案:

答案 0 :(得分:1)

这是因为cout仅可用于项目中的文件,甚至

cache

将使GitLab CI查找/ home / user / yourproject / my_root_path。

答案 1 :(得分:0)

cd出现在任何before_scriptscript指令的原始目录中时,就会发生这种情况。

确保cd返回到您所在的原始目录,以便cache代码可以查看其查找的路径。

相关问题