无法获取现有工作区:查询云存储失败:存储:存储桶不存在

Failed to get existing workspaces: querying Cloud Storage failed: storage: bucket doesn't exist

在云构建中使用了 Terraform,但在这一步失败了

steps:
  # Terraform
  - id: 'configure_terraform'
    name: node:10.16.3
    entrypoint: "node"
    args: ["./create_terraform_config.js",
           "../terraform/override.tf",
           "${_TERRAFORM_BUCKET_NAME}",
           "${_TERRAFORM_BUCKET_PATH}"]
    dir: "app/scripts"
  - id: 'init_terraform'
    name: hashicorp/terraform:light
    args: ["init"]
    dir: "app/terraform"

正在初始化后端...

后端配置成功"gcs"! Terraform 会自动 除非后端配置更改,否则使用此后端。

错误:无法获取现有工作区:查询云存储失败:存储:存储桶不存在

这将解决问题

terraform init -reconfigure

参考:https://github.com/hashicorp/terraform/issues/23532#issuecomment-560493391

  1. 状态桶必须预先存在。 GCS backend bucket must pre-exist

如果不存在,请使用以下命令创建状态桶并对其进行版本控制:

gsutil mb -p <projectId> -c <storage-class> -l <region> -b gs://<bucket-name>
gsutil versioning set on gs://<bucket-name>
  1. 如上述答案中指定的那样执行terraform init -重新配置选项。

这对我有用:

gcloud auth application-default login --project $PROJECT

通常我会省略 --project 参数,但仍然会产生错误。我以为它只用于 billing/quota。这可能是与我的特定工具版本相关的错误:

Google Cloud SDK 387.0.0
Terraform v1.1.2