Task Templates
Ein Task Template legt fest, was und wie ausgeführt wird: die Anwendung, das Repository und die auszuführende Datei, das Inventory, die Variable Groups, die Zugangsdaten und die Optionen, die ein Benutzer beim Starten eines Tasks ändern darf. Jeder Task wird aus einem Task Template erstellt.
Task Templates unterstützen die folgenden Anwendungen:
Administratoren können Anwendungen aktivieren oder deaktivieren und eigene hinzufügen, siehe Apps.
Liste der Task Templates
Der Bereich Task Templates listet alle Task Templates des Projekts auf.

| Spalte | Inhalt |
|---|---|
| Name | Name des Task Template mit dem Symbol der Anwendung. Die Play-Schaltfläche startet einen neuen Task. |
| Version | Die neueste Build-Version bei Build- und Deploy-Task-Templates, andernfalls das Ergebnissymbol des letzten Tasks. |
| Status | Status-Badge des letzten Tasks oder Not launched. |
| Last Task | Nummer des letzten Tasks und wer ihn gestartet hat. |
| Playbook | Die Datei, die das Task Template ausführt. |
| Inventory, Variable Groups, Repository | Ressourcen, die dem Task Template zugeordnet sind. |
Die Tabs über der Liste sind Views: benannte Gruppen von Task Templates. Über das Zahnradsymbol in der oberen rechten Ecke wählen Sie aus, welche Spalten angezeigt werden. Klicken Sie auf den Pfeil links in einer Zeile, um die neuesten Tasks dieses Task Template aufzuklappen.

Seite des Task Template
Klicken Sie auf den Namen eines Task Template, um seine Seite zu öffnen. Die Schaltfläche in der oberen rechten Ecke startet einen Task (Run, Build oder Deploy, je nach Typ), Stop all stoppt jeden laufenden oder wartenden Task des Task Template.
| Tab | Inhalt |
|---|---|
| Tasks | Tasks dieses Task Template mit einer Rerun-Schaltfläche in jeder Zeile. |
| Details | Das Playbook, der Typ, das Inventory, die Variable Groups und das Repository sowie das Task-Status-Diagramm mit denselben Filtern wie Stats. |
| Workspaces | Nur bei Terraform-, OpenTofu- und Terragrunt-Task-Templates: die Liste der Workspaces, siehe Workspaces. |

Typen von Task Templates
| Typ | Zweck |
|---|---|
| Task | Eine einfache Ausführung. Der Standardtyp. |
| Build | Erzeugt ein Artefakt und weist ihm eine automatisch hochgezählte Version zu. |
| Deploy | Stellt eine von einem Build-Task-Template erzeugte Version bereit. |
Build- und Deploy-Task-Templates sowie die semaphore_vars, die sie an Playbooks übergeben, sind unter Build- und Deploy-Task-Templates beschrieben.
Formular des Task Template
Benutzer mit der Rolle Manager oder höher können Task Templates über New Template und das Stiftsymbol erstellen und bearbeiten. Das Formular ist in die folgenden Gruppen unterteilt. Felder, die mit einem Anwendungsnamen markiert sind, erscheinen nur für diese Anwendung.
Allgemeine Felder
| Feld | Beschreibung |
|---|---|
| Name | Erforderlich. Name des Task Template. |
| Description | Optionaler Text, der unter dem Namen angezeigt wird. |
| App | Anwendung, die ausgeführt wird. |
| Repository | Repository mit dem Playbook oder Skript, siehe Repositories. |
| Branch | Git-Branch, der ausgecheckt wird. Leer bedeutet den im Repository konfigurierten Branch. Deaktiviert für ein Monorepo-Repository, das einmal für alle Task Templates ausgecheckt wird. |
| Playbook / Script filename | Pfad zur Datei relativ zum Repository-Stammverzeichnis. Bei Terraform-Apps: das Unterverzeichnis mit der Konfiguration. |
| Different working directory | Das Werkzeug aus einem anderen Verzeichnis des Repositorys ausführen. |
| Inventory | Ansible-Inventory oder ein Workspace bei Terraform-Apps. |
| Variable Groups | Eine oder mehrere Variable Groups, deren Variablen und Secrets in den Task eingefügt werden, siehe Variable Groups. |
| Vault password (Ansible) | Schlüssel zum Entsperren von Ansible Vault, siehe Mehrere Vault-Passwörter. |
| View | Auf welchem View-Tab das Task Template erscheint. |
| CLI args | Zusätzliche Befehlszeilenargumente als JSON-Array, zum Beispiel ["-vvv"]. |
Typspezifische Felder
| Feld | Typ | Beschreibung |
|---|---|---|
| Start Version | Build | Die erste zu vergebende Version, zum Beispiel 1.0.0. |
| Build Template | Deploy | Das Build-Task-Template, dessen Artefakte dieses Task Template bereitstellt. |
| Autorun | Deploy | Ein Deploy automatisch nach jedem erfolgreichen Build starten. |
Erweiterte Optionen
| Feld | Beschreibung |
|---|---|
| Allow parallel tasks | Mehrere Tasks dieses Task Template gleichzeitig laufen lassen, siehe Parallele Tasks. |
| Alerts, Send on success, Send on error | Ob Benachrichtigungen für Tasks dieses Task Template gesendet werden und bei welchen Ergebnissen. Benachrichtigungen erfordern außerdem Allow alerts for this project in den Projekteinstellungen. |
| Runner tag (Pro) | Tasks nur auf Runnern mit diesem Tag ausführen, siehe Projekt-Runner. |
| Executor image | Container-Image für Docker- und Kubernetes-Runner, siehe Executor-Image. |
| Issue JWT to task runner, JWT audience, JWT TTL | Dem Task ein signiertes Token geben, siehe Task-JWTs. |
| Auto-run task if new git commit have been found | Das Repository im angegebenen Intervall abfragen und einen Task starten, wenn sich der Branch bewegt. |
| Survey variables | Eingaben, die der Benutzer beim Starten eines Tasks ausfüllt, siehe Survey-Variablen. |
Prompts
Prompts sind Kontrollkästchen, mit denen der Benutzer im Dialog für einen neuen Task eingebaute Optionen ändern kann: Branch, Inventory, CLI-Argumente und, bei Ansible, Limit, Tags, Skip-Tags, Debug-Level und Galaxy-Installation. Siehe Prompts.
Bei einem Monorepo-Repository ist der Branch-Prompt deaktiviert: Jedes Task Template eines solchen Repositorys läuft in einem gemeinsamen Checkout, daher kann ein Task ihn nicht auf einen anderen Branch oder Commit umschalten. Fahren Sie mit der Maus über das deaktivierte Feld, um den Grund zu sehen.

Anwendungsoptionen
- Ansible: Limit, Tags, Skip-Tags und Optionen für die Galaxy-Installation, siehe Ansible.
- Terraform/OpenTofu/Terragrunt: Auto Approve und Backend-Überschreibung, siehe Terraform/OpenTofu und HTTP-Backend.
Parallele Tasks
Standardmäßig werden Tasks desselben Task Template nacheinander ausgeführt. Um gleichzeitige Läufe desselben Task Template zu erlauben, aktivieren Sie in den Einstellungen des Task Template die Option „Allow parallel tasks“.
Executor-Image (Docker- und Kubernetes-Runner)
Wenn ein Projekt-Runner den Docker- (Pro) oder Kubernetes-Executor (Enterprise) verwendet, läuft jeder Task normalerweise im auf dem Runner konfigurierten Standard-Job-Image (zum Beispiel semaphoreui/job:latest). Sie können dieses Image pro Task Template überschreiben.
- Öffnen Sie die Einstellungen des Task Template
- Setzen Sie Executor image auf die Referenz des Container-Images (zum Beispiel
my-registry/ansible:2.16odersemaphoreui/job:latest) - Speichern Sie das Task Template
Verhalten:
- Nur die Docker- und Kubernetes-Runner-Executoren berücksichtigen dieses Feld; der lokale Executor ignoriert es
- Lassen Sie das Feld leer, um das Standard-Image des Runners aus
runner.executor.docker.imageoderrunner.executor.k8s.imagezu verwenden - Das Leeren des Feldes in der Oberfläche entfernt die Überschreibung
Anwendungsfälle:
- Task Templates, die eine andere Toolchain benötigen (älteres Ansible, eine bestimmte Terraform-Version, zusätzliche OS-Pakete in einem eigenen Image)
- Isolierte Images für sicherheitskritische Task Templates, ohne den Runner-weiten Standard zu ändern
Siehe Runner-Konfiguration für die Standard-Image-Einstellungen und Projekt-Runner für die Einrichtung des Executors.