使用 Terraform 将 GCP Cloud 函数部署到 Artifact Registry

Deploy GCP Cloud functions to Artifact Registry using Terraform

我正在尝试使用 Terraform 将云功能部署到工件注册表而不是容器注册表。

我在 GCP 中创建了一个工件存储库并使用 google-beta 提供程序。 但我不明白在哪里提到“docker-注册表”路径(工件注册表的路径)

在我的主 tf 文件的创建 CF 中进行以下操作:- 我添加了一个名为 docker-repository 的参数(这在 terraform 中不存在)基于 https://cloud.google.com/functions/docs/building#image_registry_options 但是看起来这个参数在 terraform 中不存在并且给我错误。

resource "google_cloudfunctions_function" "appConfigService" {
  provider              = google-beta
  name                  = local.function_names.appConfigService
  description           = "helloWorld"
  runtime               = var.cf_node_run_time
  available_memory_mb   = var.cf_memory
  source_archive_bucket = local.deployment_bucket
  source_archive_object = google_storage_bucket_object.appConfigService_archive.name
  entry_point           = "helloWorld"
  service_account_email = var.default_service_account[var.environment]
  trigger_http          = true
  docker-repository     ="<artifact registry path>" //This is wrong

}

我无法在任何地方找到关于此的任何文档。 请告诉我使用 terraform 将云功能部署到工件存储库的正确方法。

此时您需要使用Terraform plus Cloud Build来指定要使用的仓库。然后,您可以在云构建步骤中使用 gcloud --docker-repository

本文档介绍了如何将 Terraform 与 Cloud Build 集成。

Managing infrastructure as code with Terraform, Cloud Build, and GitOps