Azure DevOps Terraform Pipeline Plan步骤报错:无配置文件
Terraform Plan步骤无配置文件报错排查(Azure DevOps Pipeline)
以下是针对你遇到问题的具体排查方向:
工作目录参数不匹配
检查YAML中Plan步骤的workingDirectory配置,必须和Init、Validate步骤保持完全一致。如果你的Terraform配置文件存放在仓库子目录(比如infra文件夹),但Plan步骤未指定该路径,就会默认在/home/guo/myagent/_work/1/s下查找文件,自然找不到。示例修正:- task: TerraformTaskV4@4 displayName: 'Terraform Plan' inputs: command: 'plan' workingDirectory: '$(System.DefaultWorkingDirectory)/infra' # 和Init/Validate的路径一致 backendServiceArm: '你的Azure服务连接名' backendAzureRmResourceGroupName: 'daily' backendAzureRmStorageAccountName: 'saguo' backendAzureRmContainerName: 'tfstate' backendAzureRmKey: 'terraform.tfstate'代码拉取路径验证
在Plan步骤前添加一个文件检查任务,确认配置文件是否被正确拉取到工作目录:- bash: | pwd ls -R displayName: 'Check working directory contents'执行后查看日志,确认
.tf文件是否存在于当前工作目录中,排查是否是Checkout步骤拉取路径异常导致文件缺失。统一步骤工作目录
确保Init、Validate、Plan三个步骤的workingDirectory参数完全相同——Init能成功执行说明它找到了配置文件路径,但Plan如果没同步设置,就会出现路径不匹配的问题。排除远程状态干扰
远程tfstate容器的创建和Plan步骤报错无关,Plan仅依赖本地工作目录中的Terraform配置文件生成执行计划,所以核心还是要确认本地目录是否存在.tf文件。
内容的提问来源于stack exchange,提问作者Clair
相关产品推荐
相关产品推荐

