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

変数グループ

Semaphore の変数グループセクションは、インベントリ用の追加変数を保存する場所であり、変数は JSON 形式で保存する必要があります。

すべてのタスクテンプレートには、たとえ空であっても変数グループを定義する必要があります。

変数グループの作成

  1. 変数グループタブをクリックします。
  2. 「新しい変数グループ」ボタンをクリックします。
  3. 変数グループに名前を付け、有効な JSON の変数を入力または貼り付けます。空の変数グループが必要な場合は {} と入力します。

変数グループの更新

  1. 変数グループタブをクリックします。
  2. 鉛筆アイコンをクリックします。
  3. 変更を加えて「保存」をクリックします。

変数グループの削除

変数グループを削除する前に、それに関連付けられているすべてのリソースを削除する必要があります。 変数グループでどのリソースが使用されているかわからない場合は、以下の手順 1 と 2 に従ってください。使用されているリソースが、それらへのリンクとともに表示されます。

  1. 変数グループをクリックします。
  2. 変数グループの横にあるゴミ箱アイコンをクリックします。
  3. 本当に変数グループを削除してよければ、「はい」をクリックします。

変数グループの使用 - Terraform/OpenTofu

保存した変数グループの変数やシークレットを Terraform テンプレートで利用したい場合は、Terraform スクリプトがそれを使用できるように、名前の先頭に TF_VAR_ を付ける必要があります。

Hetzner Cloud の API キーを OpenTofu/Terraform の playbook に渡します。

  1. 変数グループをクリックします
  2. New Group をクリックします
  3. Secrets タブをクリックします
  4. TF_VAR_hcloud_token を追加し、非表示フィールドに secret を入力します
  5. 「保存」をクリックします

シークレット TF_VAR_hcloud_token は、hetzner.tf 内では var.hcloud_token として参照します

terraform {
required_providers {
hcloud = {
source = "hetznercloud/hcloud"
version = "~> 1.45"
}
}
}

# Declare the variable
variable "hcloud_token" {
type = string
description = "Hetzner Cloud API token"
sensitive = true # This prevents the token from being displayed in logs
}

provider "hcloud" {
token = var.hcloud_token
}

# Create a new server running debian
resource "hcloud_server" "webserver" {
name = "webserver"
image = "ubuntu-24.04"
server_type = "cpx11"
location = "ash"
ssh_keys = [ "mysshkey" ]
public_net {
ipv4_enabled = true
ipv6_enabled = true
}
}