タスクテンプレート
タスクテンプレートは、何をどのように実行するかを定義します。アプリケーション、リポジトリと実行するファイル、インベントリ、変数グループ、認証情報、およびタスクの開始時にユーザーが変更できるオプションです。すべてのタスクはテンプレートから作成されます。
テンプレートは次のアプリケーションに対応しています。
管理者はアプリケーションの有効・無効を切り替えたり、独自のアプリケーションを追加したりできます。アプリケーションを参照してください。
テンプレートの一覧
タスクテンプレート セクションには、プロジェクトのすべてのテンプレートが一覧表示されます。

| 列 | 内容 |
|---|---|
| 名前 | アプリケーションのアイコン付きのテンプレート名です。再生 ボタンで新しいタスクを開始します。 |
| バージョン | ビルドおよびデプロイテンプレートでは最新のビルドバージョン、それ以外では直近のタスクの結果アイコンです。 |
| ステータス | 直近のタスクのステータスバッジ、または 未実行 です。 |
| 直近のタスク | 直近のタスクの番号と、それを開始したユーザーです。 |
| Playbook | テンプレートが実行するファイルです。 |
| インベントリ、変数グループ、リポジトリ | テンプレートに関連付けられたリソースです。 |
一覧の上にあるタブはビューで、テンプレートを名前付きでグループ化したものです。右上隅の歯車アイコンから、表示する列を選択できます。行の左側にある矢印をクリックすると、そのテンプレートの直近のタスクが展開されます。

テンプレートのページ
テンプレート名をクリックすると、そのページが開きます。右上隅のボタンでタスクを開始します(種類に応じて 実行、ビルド、デプロイ)。すべて停止 は、そのテンプレートの実行中およびキュー待ちのすべてのタスクを停止します。
| タブ | 内容 |
|---|---|
| タスク | このテンプレートのタスクです。各行に 再実行 ボタンがあります。 |
| 詳細 | playbook、種類、インベントリ、変数グループ、リポジトリと、統計と同じフィルターを備えたタスクステータスのグラフです。 |
| ワークスペース | Terraform、OpenTofu、Terragrunt のテンプレートのみ。ワークスペースの一覧です。ワークスペースを参照してください。 |

テンプレートの種類
| 種類 | 目的 |
|---|---|
| タスク | 単純な実行です。既定の種類です。 |
| ビルド | アーティファクトを生成し、自動的に増加するバージョンを割り当てます。 |
| デプロイ | ビルドテンプレートが生成したバージョンをデプロイします。 |
ビルドおよびデプロイテンプレートと、それらが playbook に渡す semaphore_vars については、ビルド・デプロイテンプレートで説明しています。
テンプレートのフォーム
マネージャー 以上のロールを持つユーザーは、新しいテンプレート と鉛筆アイコンからテンプレートを作成・編集できます。フォームは次のグループに分かれています。アプリケーション名が付いているフィールドは、そのアプリケーションの場合にのみ表示されます。
共通のフィールド
| フィールド | 説明 |
|---|---|
| 名前 | 必須です。テンプレートの名前です。 |
| 説明 | 名前の下に表示される任意のテキストです。 |
| アプリ | 実行するアプリケーションです。 |
| リポジトリ | playbook またはスクリプトを含むリポジトリです。リポジトリを参照してください。 |
| ブランチ | チェックアウトする Git ブランチです。空の場合はリポジトリで設定されたブランチが使用されます。すべてのテンプレートで 1 回だけチェックアウトされるモノレポリポジトリでは無効です。 |
| Playbook/スクリプトのファイル名 | リポジトリルートからの相対パスです。Terraform 系のアプリでは、構成があるサブディレクトリです。 |
| 別の作業ディレクトリ | リポジトリの別のディレクトリからツールを実行します。 |
| インベントリ | Ansible のインベントリ、または Terraform 系アプリのワークスペースです。 |
| 変数グループ | 変数とシークレットがタスクに注入 される、1 つ以上の変数グループです。変数グループを参照してください。 |
| Vault のパスワード (Ansible) | Ansible Vault のロック解除に使用するキーです。複数の vault パスワードを参照してください。 |
| ビュー | このテンプレートを表示するビューのタブです。 |
| CLI 引数 | JSON 配列として指定する追加のコマンドライン引数です。例: ["-vvv"]。 |
種類ごとのフィールド
| フィールド | 種類 | 説明 |
|---|---|---|
| 開始バージョン | ビルド | 最初に割り当てるバージョンです。例: 1.0.0。 |
| ビルドテンプレート | デプロイ | このテンプレートがアーティファクトをデプロイする対象のビルドテンプレートです。 |
| 自動実行 | デプロイ | ビルドが成功するたびに、自動的にデプロイを開始します。 |
詳細オプション
| フィールド | 説明 |
|---|---|
| 並列タスクを許可する | このテンプレートの複数のタスクを同時に実行できるようにします。並列タスクを参照してください。 |
| アラート、成功時に送信、エラー時に送信 | このテンプレートのタスクについて通知を送信するかどうか、またどの結果で送信するかを指定します。通知には、プロジェクトの設定の このプロジェクトのアラートを許可する も必要です。 |
| ランナータグ (Pro) | このタグを持つランナーでのみタスクを実行します。プロジェクトのランナーを参照してください。 |
| エグゼキューターのイメージ | Docker および Kubernetes のランナー用のコンテナーイメージです。エグゼキューターのイメージを参照してください。 |
| タスクランナーに JWT を発行する、JWT のオーディエンス、JWT の TTL | タスクに署名付きトークンを渡します。タスクの JWT を参照してください。 |
| 新しい git コミットが見つかった場合にタスクを自動実行する | 指定した間隔でリポジトリをポーリングし、ブランチが進んだときにタスクを開始します。 |
| サーベイ変数 | タスクの開始時にユーザーが入力する項目です。サーベイ変数を参照してく ださい。 |
プロンプト
プロンプトは、新しいタスクのダイアログでユーザーが組み込みのオプション(ブランチ、インベントリ、CLI 引数、および Ansible の場合は limit、tags、skip tags、デバッグレベル、Galaxy のインストール)を変更できるようにするチェックボックスです。プロンプトを参照してください。
モノレポリポジトリではブランチプロンプトが無効になります。そのようなリポジトリのすべてのテンプレートは 1 つの共有チェックアウトで実行されるため、タスクがそれを別のブランチやコミットに切り替えることはできません。無効化されたフィールドにマウスを合わせると、理由が表示されます。

アプリケーションのオプション
- Ansible: limit、tags、skip tags、Galaxy のインストールオプションです。Ansible を参照してください。
- Terraform/OpenTofu/Terragrunt: 自動承認とバックエンドの上書きです。Terraform/OpenTofu と HTTP バックエンドを参照してください。
並列タスク
既定では、同じテンプレートのタスクは順番に実行されます。同じテンプレートの同時実行を許可するには、テンプレートの設定で「並列タスクを許可する」オプションを有効にしてください。
エグゼキューターのイメージ(Docker および Kubernetes のランナー)
プロジェクトのランナーが Docker (Pro) または Kubernetes (Enterprise) のエグゼキューターを使用している場合、各タスクは通常、ランナーに設定された既定のジョブイメージ(たとえば semaphoreui/job:latest)で実行されます。このイメージは、テンプレートごとに上書きできます。
- テンプレートの設定を開きます
- エグゼキューターのイメージ にコンテナーイメージの参照(たとえば
my-registry/ansible:2.16やsemaphoreui/job:latest)を設定します - テンプレートを保存し ます
動作:
- このフィールドを反映するのは Docker と Kubernetes のランナーエグゼキューターのみです。local エグゼキューターは無視します
- フィールドを空のままにすると、
runner.executor.docker.imageまたはrunner.executor.k8s.imageのランナー既定のイメージが使用されます - UI でフィールドを空にすると、上書きが解除されます
ユースケース:
- 異なるツールチェーンが必要なテンプレート(古い Ansible、特定バージョンの Terraform、カスタムイメージに組み込まれた追加の OS パッケージなど)
- ランナー全体の既定を変更せずに、セキュリティ上重要なテンプレート用に分離されたイメージを使用する場合
既定のイメージ設定についてはランナーの設定、エグゼキューターのセットアップについてはプロジェクトのランナーを参照してください。