メインコンテンツまでスキップ

Terraform/OpenTofu

Semaphore UI を使用して Terraform コードを実行できます。そのためには、Terraform コードテンプレートを作成する必要があります。

  1. タスクテンプレートセクションに移動し、新しいテンプレートボタンをクリックします。
  2. アプリの種類として Terraform を選択します。
  3. テンプレートを設定し、作成ボタンをクリックします。
  4. 実行をクリックしてテンプレートを実行します。

変数の受け渡し

選択した変数グループの変数は環境変数として注入されます。Terraform が入力変数として認識できるように、名前の先頭に TF_VAR_ を付けてください。

変数グループのキーTerraform の変数
TF_VAR_regionvar.region
TF_VAR_instance_typevar.instance_type

機密性の高い値には、変数グループのシークレットタブを使用してください。これらは保存時に暗号化されます。

ワークスペース

Semaphore は Terraform/OpenTofu のワークスペースをネイティブにサポートしています。ワークスペースの作成と切り替え、およびプライベートモジュール用の SSH キーの使用については、ワークスペースを参照してください。

バックエンドの上書きと HTTP バックエンド (Pro)

Terraform コードを変更することなく、テンプレートでバックエンドを上書きして組み込みの HTTP バックエンドを使用できます。詳細は HTTP バックエンド (Pro) を参照してください。

Destroy フラグとステートの移行

タスク実行ダイアログには -destroy-migrate-state のトグルがあります。インフラストラクチャを破棄する場合や Terraform のステートを移行する場合に使用してください。

注意事項

  • Semaphore は各実行の前に自動的に terraform init を実行します。
  • 組み込みの HTTP バックエンド (Pro) を使用しない限り、ステートは Terraform コードで設定されているバックエンド (local、S3、GCS など) によって管理されます。