我在互联网上搜索了很久,但没有找到接近答案的内容。 我有以下的main.tf文件:
terraform {
cloud {
organization = "my-organization"
workspaces {
tags = ["app:myapplication"]
}
}
}
我正在使用 Terraform Cloud 并希望在自动化中使用工作区。 为此,我首先需要进行 terraform init:
/my/path # terraform init
初始化 Terraform Cloud...
未找到工作区。
在您的 Terraform Cloud 组织中没有已配置标签(app: myapplication)的工作区。为完成初始化,Terraform 需要至少一个可用的工作区。
Terraform 现在可以为您创建一个正确标记的工作区。请输入一个名称以创建新的 Terraform Cloud 工作区。
输入一个值:
我想要做类似这样的事情:
terraform init -workspace=my-workspace
以便在不存在时创建它。但我找不到任何东西。创建第一个工作区的唯一方法是手动创建。
如何在CI/CD自动化中实现呢?
[编辑] 在init之前,terraform工作区命令不可用
/src/terraform # terraform workspace list
Error: Terraform Cloud initialization required: please run "terraform init"
Reason: Initial configuration of Terraform Cloud.
Changes to the Terraform Cloud configuration block require reinitialization, to discover any changes to the available workspaces.
To re-initialize, run: terraform init
Terraform has not yet made changes to your existing configuration or state.
terraform workspace list
命令,然后使用 grep 查找你想要检查的工作区是否存在,接着执行terraform workspace new <workspace-name>
命令。当然,在运行 init 步骤之前需要先执行这些命令。 - Marko E