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

Gitlab CI上传多模块制品报outside build directory错误求助

问题原因
  1. GitLab CI 对制品路径有强制限制:仅允许上传**当前作业构建目录(即内置变量$CI_PROJECT_DIR,对应你场景下的/home/gitlab-runner/builds/Gso-uWvA/0/www/project-infoserwis)**内的文件,你配置的project-root路径位于构建目录的上级,因此触发outside build directory警告,无法被收集。
  2. 克隆模块时使用了../跳转路径,导致另外两个模块被存储到当前项目构建目录之外,不符合制品收集的路径要求。
  3. 硬编码写死绝对路径的配置方式本身不具备通用性,后续 runner 环境或项目路径变更后也会失效。
修复方案
  • 优先调整模块克隆逻辑:不要使用../跳转到上级目录创建模块,改为克隆到当前构建目录下的子目录,例如克隆到./project-root、./project-core,保证所有模块都在$CI_PROJECT_DIR范围内。
  • 调整制品配置,使用相对路径代替硬编码的绝对路径,示例配置如下:
artifacts:
  paths:
    - ./project-infoserwis
    - ./project-root
    - ./project-core
  expire_in: 10 min

如果确实需要保留原有克隆到上级目录的逻辑,可以在构建脚本阶段先把外部模块复制到当前构建目录,再进行制品收集,示例配置:

script:
  # 原有构建逻辑执行完成后,复制外部模块到当前目录
  - cp -r ../project-root ./
  - cp -r ../project-core ./
artifacts:
  paths:
    - ./project-infoserwis
    - ./project-root
    - ./project-core
  expire_in: 10 min

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:15:05