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

Packer HCL v1.13.1环境变量无法使用:文档方法均失效求解决

Packer HCL v1.13.1环境变量无法生效问题

我在Packer HCL v1.13.1中完全无法使用环境变量传递参数,文档记录的所有方法均无效。

我的Packer配置如下:

variable "system_name" {
  type    = string
}

source "googlecompute" "ubuntu" {
...
}

build {
  sources = ["source.googlecompute.ubuntu"]

  provisioner "file" {
    source = "../../package.tar.gz"
    destination = "/tmp/${var.system_name}.tar.gz"
  }
}

我按照Packer文档的说明,尝试了多种环境变量设置方式:

SYSTEM_NAME=myssystem
PKR_VAR_SYSTEM_NAME=myssystem
PKR_VAR_system_name=myssystem
PACKER_VAR_system_name=myssystem
PACKER_VAR_SYSTEM_NAME=myssystem

但这些方式都不起作用。

我还尝试了为变量设置默认值的变体:

variable "system_name" {
  type    = string
  default = env("SYSTEM_NAME")
}

同样无效。

目前我只能通过命令行使用--var参数传递变量,但希望能通过程序化方式实现。想问Packer是否支持环境变量传参的方式?还是文档内容有误?


更新:

直接执行以下命令时可以正常工作:

export PKR_VAR_system_name=mysystem

但在bash脚本中设置环境变量后调用Packer却无法生效。执行脚本后echo能正常输出变量值:

source myscript.sh
echo $PKR_VAR_system_name
> mysystem

因此我认为问题可能出在我设置值的脚本上,而非Packer本身。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:20:02