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

タスクテンプレート

タスクテンプレートは、何をどのように実行するかを定義します。アプリケーション、リポジトリと実行するファイル、インベントリ、変数グループ、認証情報、およびタスクの開始時にユーザーが変更できるオプションです。すべてのタスクはテンプレートから作成されます。

テンプレートは次のアプリケーションに対応しています。

管理者はアプリケーションの有効・無効を切り替えたり、独自のアプリケーションを追加したりできます。アプリケーションを参照してください。

テンプレートの一覧​

タスクテンプレート セクションには、プロジェクトのすべてのテンプレートが一覧表示されます。

テンプレートの一覧

列内容
名前アプリケーションのアイコン付きのテンプレート名です。再生 ボタンで新しいタスクを開始します。
バージョンビルドおよびデプロイテンプレートでは最新のビルドバージョン、それ以外では直近のタスクの結果アイコンです。
ステータス直近のタスクのステータスバッジ、または 未実行 です。
直近のタスク直近のタスクの番号と、それを開始したユーザーです。
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)で実行されます。このイメージは、テンプレートごとに上書きできます。

  1. テンプレートの設定を開きます
  2. エグゼキューターのイメージ にコンテナーイメージの参照(たとえば my-registry/ansible:2.16 や semaphoreui/job:latest)を設定します
  3. テンプレートを保存します

動作:

  • このフィールドを反映するのは Docker と Kubernetes のランナーエグゼキューターのみです。local エグゼキューターは無視します
  • フィールドを空のままにすると、runner.executor.docker.image または runner.executor.k8s.image のランナー既定のイメージが使用されます
  • UI でフィールドを空にすると、上書きが解除されます

ユースケース:

  • 異なるツールチェーンが必要なテンプレート(古い Ansible、特定バージョンの Terraform、カスタムイメージに組み込まれた追加の OS パッケージなど)
  • ランナー全体の既定を変更せずに、セキュリティ上重要なテンプレート用に分離されたイメージを使用する場合

既定のイメージ設定についてはランナーの設定、エグゼキューターのセットアップについてはプロジェクトのランナーを参照してください。