hcp_packer_registry
块
hcp_packer_registry
块允许您对 Packer 发送到 HCP Packer Registry(译者注:HashiCorp 提供的云服务) 的元数据进行定制。它配置在 HCP Packer Registry 中创建或更新的镜像的详细信息。
要开始使用 HCP Packer,请参阅 HCP Packer 文档或访问《开始使用 HCP Packer 教程》。
使用方法
该块从 1.7.7 版的 Packer 开始提供支持。
构建块中声明了 hcp_packer_registry
块将启用 HCP Packer 模式。如果设置了适当的 HCP 凭据(HCP_CLIENT_ID
和 HCP_CLIENT_SECRET
),Packer 会把该构建块中的所有构建推送到远程注册表。如果没有设置 HCP 凭据,构建失败并立即退出,以避免在定义的 builder
/source
块和 HCP Packer 注册表之间出现任何潜在的制品漂移。
注意:如果您尝试从已停用或已删除的注册表中引用元数据,您将收到错误消息。管理员可以手动停用或删除注册表,HCP Packer 会自动停用存在计费问题的注册表。如有问题,请联系 HashiCorp 支持。
# file: builds.pkr.hcl
source "happycloud" "macos" {
os = "macos_amd64"
}
build {
hcp_packer_registry {
bucket_name = "ios-dev"
description = <<EOT
Some nice description about the image which artifact is being published to HCP Packer Registry. =D
EOT
bucket_labels = {
"team" = "ios-development",
"os" = "macos"
}
build_labels = {
"xcode" = "11.3.0"
"version" = "Big Sur"
}
}
sources = ["source.happycloud.macos"]
}
bucket_name
(string) - 发布到 HCP Packer 注册表时的镜像名。应该始终保持相同名称,否则将创建一个新镜像。如果未设置,则默认为build.name
。如果设置了HCP_PACKER_BUCKET_NAME
环境变量,将被覆盖。bucket_labels
(map[string]string) - 标签映射。可以记录任意信息,例如工具版本(例如 Go 1.17、Python 3.5 等)。存储桶标签将出现在镜像的主页上,并会在变更后,包含变更的新构建推送到 HCP Packer 注册表时更新。build_labels
(map[string]string) - 标签映射。可以记录任意信息,例如工具版本(例如 Go 1.17、Python 3.5 等)。构建标签将出现在迭代的build
部分。构建标签特定于迭代,并在推送到 HCP Packer 注册表时添加到构建中。不允许更改已完成的迭代的构建标签。description
(string) - 镜像描述。用来提供有关镜像的摘要。该描述将出现在镜像的主页上,并会在变更后,包含变更的新构建推送到 HCP Packer 注册表时更新。最多可以包含 255 个字符。如果未设置,则默认为build.description
。labels
(map[string]string) - 在 Packer 1.7.9 中已弃用。有关详细信息,请参阅bucket_labels
。