You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab CI与CMake:拆分预构建与构建任务遇缓存失效问题

问题解决:GitLab CI缓存预构建CMake产物失败

你的问题根源在于构建任务的缓存路径配置错误:预构建任务推送的缓存路径是build/Release,但构建任务拉取的路径写成了build/V2_Release,两者路径不匹配导致缓存无法传递。

修正后的.gitlab-ci.yml配置如下:

image: ubuntu:22.04
before_script:
 - apt update
 - apt install cmake ninja-build gcc-arm-none-eabi -y

stages:
- build

pre-build:
  stage: build
  script:
   - cmake --preset=Release
  cache:
    paths:
      - build/Release
    policy: push

build:
  stage: build
  script:
   - cmake --build build/Release
  cache:
    paths:
      - build/Release  # 修正为与预构建任务一致的路径
    policy: pull

额外注意事项:

  • 确认你的CMake PresetRelease确实生成到build/Release目录,可以通过cmake --list-presets或查看CMakePresets.json验证路径配置
  • cache.policy: push仅在任务成功后推送缓存,policy: pull仅拉取缓存不推送,适配构建任务的使用场景
  • 两个任务处于同一个build阶段,GitLab CI会按顺序执行,确保预构建完成后再启动构建任务

内容的提问来源于stack exchange,提问作者Furlings

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 05:45:39