CircleCi使用官方terraform orb指定代码路径报路径不存在错误
问题根因
- 路径基准匹配错误
官方terraform orb的path参数默认相对于CircleCI的默认工作目录(默认路径为/root/project)做解析,你配置的project/terraform/会被最终拼接为/root/project/project/terraform/,和容器内实际存在的/root/project/terraform/路径不一致,触发不存在报错。 - 版本兼容问题
v1.0.0以下的旧版terraform orb对路径末尾的斜杠处理存在缺陷,会额外拼接空字符导致路径识别异常。
修复方案
- 优先使用相对工作目录的精简路径,去掉多余的
project/前缀且不添加尾斜杠:
jobs: - terraform/fmt: checkout: true path: 'terraform' context: terraform
- 如需使用绝对路径明确指定,直接填写完整路径即可:
jobs: - terraform/fmt: checkout: true path: '/root/project/terraform' context: terraform
- 可添加前置步骤核验路径结构,避免基准不一致问题:
jobs: - terraform/fmt: checkout: true pre-steps: - run: pwd && ls -la ./terraform path: 'terraform' context: terraform
内容的提问来源于stack exchange,提问作者kiemon
相关产品推荐
相关产品推荐

