Zum Hauptinhalt springen

Python

Semaphore kann Python-Skripte direkt ausführen. Erstellen Sie dazu ein Python-Task-Template.

Ein Python-Template erstellen

  1. Öffnen Sie den Bereich Task-Templates und klicken Sie auf die Schaltfläche Neues Template.
  2. Wählen Sie Python als App-Typ.
  3. Konfigurieren Sie das Template:
FeldBeschreibung
NameEin aussagekräftiger Name für das Template
RepositoryRepository, das Ihr .py-Skript enthält
Playbook / SkriptRelativer Pfad zum Skript, z. B. scripts/deploy.py
VariablengruppenVariablengruppen, deren Werte als Umgebungsvariablen eingefügt werden
  1. Klicken Sie auf Erstellen.
  2. Klicken Sie auf Ausführen, um das Template auszuführen.

Variablen an Skripte übergeben

Variablen aus den ausgewählten Variablengruppen werden als Umgebungsvariablen eingefügt. Greifen Sie in Python mit os.environ darauf zu:

import os

target = os.environ.get("TARGET_HOST")
print(f"Deploying to {target}")

Python-Version und Abhängigkeiten

Semaphore verwendet die python3-Binärdatei, die in der Ausführungsumgebung im PATH liegt.

  • Binär-/Paketinstallation: Stellen Sie sicher, dass das richtige python3 auf dem Host installiert ist.
  • Docker: Verwenden Sie ein benutzerdefiniertes Image mit der erforderlichen Python-Version.
  • Docker (zusätzliche Pakete): Binden Sie eine requirements.txt unter /etc/semaphore/requirements.txt im Server- oder Runner-Container ein. Semaphore installiert sie bei jedem Containerstart in die mitgelieferte virtuelle Python-Umgebung. Siehe Zusätzliche Python-Abhängigkeiten installieren.

Hinweise

  • Skripte laufen nicht interaktiv.
  • Exit-Code 0 bedeutet Erfolg; jeder Exit-Code ungleich null markiert den Task als fehlgeschlagen.