首页 > 解决方案 > 在 GitHub Actions/Terraform CLI 中切换 Terraform 云工作区

问题描述

我们正在进行一个小型概念验证项目,该项目将使用 Terraform 将基础架构部署到 Azure。我们的 Terraform 源代码保存在 GitHub 中,我们使用 Terraform 云作为后端来存储我们的状态、秘密等。

在 Terraform 云中,我们创建了两个工作区,一个用于staging环境,一个用于production环境。

到目前为止,我们已经使用Terraform 文档中的指南开发了一个 GitHub 操作,该操作在推送到main分支时触发并将我们的基础架构部署到staging环境中。这一切都很好,我们可以看到我们的状态保存在 Terraform 云中。

下一个障碍是促进我们对production环境的改变。

不幸的是,我们在试图弄清楚如何在 GitHub 操作中动态更改 Terraform 云工作区以使其在production而不是staging. 我花了一天的大部分时间来研究这个问题。

作为参考,Terraform 后端当前配置如下:

terraform {
  backend "remote" {
    organization = "terraform-organisation-name"

    workspaces {
      name = "staging-workspace-name"
    }
  }
}

动作本身执行 an initand then and apply

显然,使用硬编码的工作区名称,这只适用于staging. 最终问题归结为如何从命令行参数化或动态更改 Terraform 云工作空间?

我觉得我缺少一些基本的东西,任何帮助或建议将不胜感激。

标签: terraformgithub-actions

解决方案


推荐阅读