是否可以使给定分支上的构建缓存无效?

shu*_*ard 5 gitlab-ci gitlab-ci-runner

我在我的一个项目中使用Gitlab CI,我面临以下问题:

  • 我的master构建因很多时间而失败了......
  • 我推动一个从主人建立的新分支(没有新的提交)并推送它,构建工作.

我认为它与构建缓存有关,因为代码库完全相同......最新的有效构建缓存可能使当前代码库失败...

有没有办法清理特定分支上的构建缓存?在我的情况下master?来自API?

shu*_*ard 8

最后,Gitlab团队在Twitter上给了我解决方案:https://twitter.com/gitlab/status/832674380790394880

由于我的存储库托管在gitlab.com上,我无法自行删除缓存.但是在.gitlab-ci.yml文件文档中,它解释了我们可以使用一个cache:key条目.

cache:key用于确定如何命名缓存条目,以便我可以更改默认值以在空白缓存上启动.

在我的.gitlab-ci.yml文件样本下面:

my-asset-build:
  cache:
    key: "$CI_COMMIT_REF_NAME-assets"
Run Code Online (Sandbox Code Playgroud)

使用该配置,我的缓存与当前引用相关(因此同一引用的构建将使用缓存)带有后缀!

感谢Gitlab团队在Twitter上的快速回答!

如果您对变量名称有疑问,可能需要查看此页面:https://docs.gitlab.com/ce/ci/variables/README.html#9-0-renaming

此外,自Gitlab 10.4以来,我们在管道列表中有一个"Clear runner cache"按钮.单击该按钮将具有与更改变量名称相同的效果,而不会污染提交历史记录.