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_IDHCP_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

results matching ""

    No results matching ""