0

我正在尝试在其中一个 pkrvars.hcl 文件中执行某种参数化。我想让 url 指向某个资源以使用其他一些变量,例如:

Lib_url = "https://lib-name-${version}`

其中版本来自其他打包程序变量文件。我可以看到以这种方式使用变量是不可能的。问题是 - 是否可以在打包程序变量文件中使用某个其他变量的变量/局部值?

4

1 回答 1

0

您可以做的是variable在运行时配置一个(使用 var-file 或-varenv 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}

于 2021-11-05T14:17:33.870 回答