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

Azure Pipeline中dbt执行Slim CI时无法找到manifest文件求助

解决Azure Pipelines中dbt Slim CI的"saved manifest not found"报错

以下是针对性的排查和解决方案:

1. 核对--state参数的路径指向

dbt要求--state参数必须指向包含manifest.json的目录,而非文件本身。

  • 确认你在命令中使用的manifest_path变量实际指向的是dbt_project/dbt_manifest_temp_dir目录,而非该目录下的manifest.json文件
  • 在Azure Pipelines中优先使用绝对路径,避免相对路径因工作目录变化失效,比如替换为:
    --state $(System.DefaultWorkingDirectory)/dbt_project/dbt_manifest_temp_dir
    
  • 可在Pipeline中添加命令验证路径:
    ls -l $(System.DefaultWorkingDirectory)/dbt_project/dbt_manifest_temp_dir
    

2. 检查manifest文件的权限

确保运行dbt的Pipeline服务账号拥有该目录及文件的读取权限:

  • 添加命令查看权限:
    ls -ld $(System.DefaultWorkingDirectory)/dbt_project/dbt_manifest_temp_dir
    ls -l $(System.DefaultWorkingDirectory)/dbt_project/dbt_manifest_temp_dir/manifest.json
    
  • 若权限不足,可添加chmod命令调整:
    chmod -R 755 $(System.DefaultWorkingDirectory)/dbt_project/dbt_manifest_temp_dir
    

3. 验证dbt版本一致性

本地与Azure Pipelines环境的dbt版本必须完全一致,不同版本的manifest格式不兼容会导致识别失败:

  • 在本地和Pipeline中分别运行以下命令确认版本:
    dbt --version
    

4. 校验manifest文件完整性

文件传输过程中可能出现损坏,可在Pipeline中添加命令验证:

cat $(System.DefaultWorkingDirectory)/dbt_project/dbt_manifest_temp_dir/manifest.json | jq '.'

若jq报错,说明文件存在格式问题,需重新生成或重新传输manifest文件。

5. 确认Pipeline工作目录

Azure Pipelines的默认工作目录可能与本地不同,可添加命令打印当前目录:

pwd

根据输出调整--state参数的路径,确保指向正确的manifest所在目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 20:55:05