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

如何将GitHub Actions工作流输入值传递到Terraform变量文件

解决方法

问题核心根因:HCL(你提到的THL应为拼写错误)本身不支持解析GitHub Actions的上下文语法,直接将${{ github.event.inputs.new_planet }}写入variables.tf文件中时,Terraform执行过程无法读取GitHub运行时的上下文数据,该表达式不会被正常解析。

具体操作步骤

  • 第一步:修正variables.tf配置,删除变量定义中的GitHub上下文表达式,按Terraform标准语法定义变量即可:
variable "backend_bucket" {
  type        = string
  default     = "可填写自定义默认值,也可留空"
  description = "The backend bucket name"
}
  • 第二步:调整GitHub Actions中terraform plan步骤的执行命令,通过-var参数将工作流输入值直接传递给对应Terraform变量:
- name: terraform plan
  id: plan
  run: |
    terraform plan -var-file=variables.tf -var "backend_bucket=${{ github.event.inputs.new_planet }}"

原理解释

Terraform中-var参数传递的变量优先级高于变量文件中定义的默认值,通过该方式传入的backend_bucket值会覆盖variables.tf中配置的默认值,实现工作流输入到Terraform变量的透传。如果有多个变量需要传递,可叠加多个-var参数,也可在工作流中动态生成.tfvars格式的临时变量文件后通过-var-file参数指定加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 14:18:03