0

Terraform と GitLab CI を使用して、GitLab MR に一時的なレビュー環境をセットアップしています。バックエンドとして Terraform Cloud を使用しています。レビュー環境ごとにワークスペースを作成し、GitLab CI のいくつかの環境変数に基づいて動的に実行したいと考えています。

私の問題は、最初に既存のワークスペースがないと、CLI を使用して新しい Terraform Cloud ワークスペースを作成できないことです。私はそのワークスペースを使用していないので、直感に反するようです。ワークスペースが存在する場合は実行できterraform initterraform workspace newワークスペースは Terraform Cloud に作成されます。最初にワークスペースを作成しないと、ワークスペースが存在しないため機能しません。最初に実行されていないために叫ぶ前にinit実行したい場合。私の構成は次のとおりです。terraform workspace newinit

terraform {
  cloud {
    organization = "my-org"

    workspaces {
      tags = ["review", "customer:test-frontend"]
    }
  }
}

API を使用して最初にワークスペースを作成できることはわかっていますが、それは面倒です。使用してみましたが、私の場合ではない既存のTF_WORKSPACEワークスペースを指す必要があります。私の現在のソリューションは次のように切り替えています:

terraform {
  cloud {
    organization = "my-org"

    workspaces {
      name = "<TF_WORKSPACE>"
    }
  }
}

sedを呼び出す前に、そのトークンを動的な名前に置き換えるために使用しますterraform init

CLIでそれを行う方法はありますか? ここで何か不足していますか?

4

0 に答える 0