我正在尝试在其中一个 pkrvars.hcl 文件中执行某种参数化。我想让 url 指向某个资源以使用其他一些变量,例如:
Lib_url = "https://lib-name-${version}`
其中版本来自其他打包程序变量文件。我可以看到以这种方式使用变量是不可能的。问题是 - 是否可以在打包程序变量文件中使用某个其他变量的变量/局部值?
我正在尝试在其中一个 pkrvars.hcl 文件中执行某种参数化。我想让 url 指向某个资源以使用其他一些变量,例如:
Lib_url = "https://lib-name-${version}`
其中版本来自其他打包程序变量文件。我可以看到以这种方式使用变量是不可能的。问题是 - 是否可以在打包程序变量文件中使用某个其他变量的变量/局部值?
您可以做的是variable
在运行时配置一个(使用 var-file 或-var
env var PKG_VAR_var
,请参阅https://www.packer.io/guides/hcl/variables)并命名为其他“变量”locals
从这个变量派生的。见https://www.packer.io/docs/templates/hcl_templates/locals
一个例子
variables {
version {
type = string
description = "OS version"
default = "bullseye"
}
}
locals {
apt_url = "http://domain.tld/${var.version}"
apt_key = "http://domain.tld/${var.version}.key"
}
然后在您的构建中使用这些变量${local.apt_url}