【问题标题】:terraform initialisation from GitHub workflowGitHub 工作流中的 terraform 初始化
【发布时间】:2022-12-03 17:16:07
【问题描述】:
我有一个 repo,其中我声明了 terraform 基础设施。我通过将可重复的部分移动到模块并为每个环境创建文件夹来改变它。 GitHub 工作流正在运行 init、plan 和 apply。当我创建新目录时,我正在更改 init 部分的“工作目录”,但我收到错误无法获取现有工作区容器。Client#ListBlobs:响应请求失败:StatusCode = 403 - 原始错误:autorest /蔚蓝:
我在工作流中将 arm 访问密钥声明为 envs。我试图移动它但没有运气。我不知道为什么 terraform 可以从主目录初始化但不能从子目录初始化。
【问题讨论】:
标签:
terraform
github-actions
terraform-provider-azure
【解决方案1】:
我试图在我的环境中重现相同的内容:
对于 storageaccount 本身,我遇到了同样的错误:
当无法访问后端或存储 Terraform 状态的容器时,会发生此错误。
请确保您已登录到您有权访问资源的订阅或租户。
在我的例子中,我登录了导致错误的另一个订阅。
- 正确设置订阅。
az account set --subscription "xxx"然后运行 terraform init
重新配置新的工作目录:
跑terraform init -reconfigure
或者运行以下命令来迁移状态:terraform init -migrate-state
地形{
后端“azurerm”{
resource_group_name = "rg"
storage_account_name = "remotestatekavstr"
container_name = "terraform"
关键=“terraform.tfstate”
}
}
然后terraform初始化成功:
笔记:1.检查存储帐户或容器的任何拼写更正。
2.当更改到新目录时,重新配置 terraform 后端或迁移。
还要检查这个creating-azure-storage-containers-in-a-storage-account-with-network-rules-with