Inhaltsverzeichnis
-
Funktionen
-
Aktivitäts- und Aufgabenprotokolle in eine Datei schreiben (PRO)
Bewahren Sie ein dauerhaftes Protokoll aller Aktivitäten, indem Sie diese direkt in eine Datei speichern. Verfügbar in der PRO-Version.
Mehr erfahren » -
API-Token-Seite
Sie müssen cURL nicht mehr verwenden, um API-Token zu erstellen.
Mehr erfahren » -
Roh-Taskprotokolle anzeigen
Sie können jetzt die unbearbeiteten, rohen Protokollausgaben für jede Aufgabe öffnen — perfekt zum Debuggen.
Mehr erfahren » -
Projekt- und Runner-Cache löschen
Geben Sie Speicherplatz frei und starten Sie frisch, indem Sie den Cache für Projekte und Runner manuell löschen.
Mehr erfahren » -
Branch in Templates und Tasks überschreiben
Wechseln Sie flexibel den Branch, ohne Ihr gesamtes Template zu bearbeiten — überschreiben Sie ihn einfach pro Task oder Template.
Mehr erfahren » -
Neue Umgebungsvariable zur OIDC-Provider-Konfiguration
Eine neue Umgebungsvariable wurde hinzugefügt, um die Einrichtung und Integration von OIDC-Providern zu vereinfachen.
Mehr erfahren » -
Neue Struktur für temporäre Verzeichnisse
Wir haben die Struktur der temporären Verzeichnisse verbessert, um bessere Isolation zu bieten und sie leichter verständlich zu machen.
Mehr erfahren » -
Externe (LDAP- und OIDC-) Benutzer manuell hinzufügen
Sie können jetzt LDAP- und OIDC-Benutzer in Semaphore hinzufügen, bevor sie sich zum ersten Mal anmelden.
Mehr erfahren » -
Standardwerte für Survey-Variablen
Sie können jetzt Standardwerte für Survey-Variablen festlegen, um bei Task-Ausführungen häufige Eingaben vorab auszufüllen.
Mehr erfahren » -
TLS-Unterstützung für SMTP-Serververbindungen
Semaphore unterstützt jetzt sichere TLS-Verbindungen beim Versand von E-Mails über einen SMTP-Server.
Mehr erfahren » -
Konfigurierbare Ansible-Playbook-Verbosity-Level
Sie können beim Ausführen von Ansible-Playbook-Tasks jetzt das gewünschte Verbosity-Level auswählen, was beim Debuggen und Troubleshooting hilft.
Mehr erfahren » -
Chroot-Unterstützung und Ausführen von Tasks als anderer Benutzer
Semaphore kann Tasks nun innerhalb einer chroot-Umgebung und unter einem angegebenen Benutzer ausführen, was Sicherheit und Isolation verbessert.
Mehr erfahren » -
Bitbucket-Webhook-Authentifizierungsunterstützung
Integrationen können jetzt mit Bitbucket-Webhook-Authentifizierung konfiguriert werden.
Mehr erfahren » -
Zeitzoneneinstellungen für Zeitpläne
Semaphore verwendet nicht mehr die Systemzeitzone. Stattdessen können Sie jetzt explizit eine Zeitzone für Zeitpläne festlegen.
Mehr erfahren »
-
Features
Aktivitäts- und Aufgabenprotokolle in eine Datei schreiben (PRO)
Semaphore Pro unterstützt jetzt das Schreiben der Aktivitäts- und Aufgabenprotokolle in eine Datei. Um dies zu aktivieren, fügen Sie die folgende Konfiguration zu Ihrer config.json hinzu:
{
"log": {
"events": {
"enabled": true,
"logger": {
"filename": "./events.log"
}
},
"task": {
"enabled": true,
"logger": {
"filename": "./tasks.log"
}
}
}
}
Oder Sie können dies mit den folgenden Umgebungsvariablen tun:
export SEMAPHORE_EVENT_LOG_ENABLED=True
export SEMAPHORE_EVENT_LOG_PATH=./tasks.log
export SEMAPHORE_TASK_LOG_ENABLED=True
export SEMAPHORE_TASK_LOG_PATH=./tasks.log
Jede Zeile in der Datei folgt diesem Format:
2024-01-03 12:00:34 user=234234 object=template action=delete ...
Dateibasierte Protokollierung unterstützt auch Rotation. Weitere Details finden Sie in der Dokumentation.
API-Token-Seite
Roh-Taskprotokolle anzeigen
Sie können jetzt das rohe Protokoll einer Aufgabe öffnen, indem Sie in der unteren rechten Ecke des Task-Protokollfensters auf die Schaltfläche RAW LOG klicken.
Projekt- und Runner-Cache löschen
Semaphore gibt Ihnen jetzt mehr Kontrolle über das Cache-Management.
Früher wurde nicht verwendeter Cache automatisch gelöscht, wenn Sie Templates oder Projekte entfernt haben. In einigen Fällen konnte jedoch Rest-Cache zurückbleiben und unbegrenzt gespeichert werden.
Mit der neuen Funktion „Cache löschen“ können Sie manuell bereinigen:
- Cache für ein bestimmtes Projekt
- Cache für einen Project Runner
- Gesamten Cache für einen Runner
- Oder sogar den gesamten Semaphore-Server-Cache
Dies hilft, Festplattenspeicher freizugeben, die Leistung zu verbessern und Ihre Umgebung sauber zu halten.
Branch in Templates und Tasks überschreiben
Sie können jetzt den Standard-Branch des Quellrepositories in den Template-Einstellungen überschreiben.
Alternativ aktivieren Sie die Option Prompt for branch on execution, um bei jeder Ausführung eines Tasks den Branch auszuwählen.
Neue Umgebungsvariable zur OIDC-Provider-Konfiguration
Wir haben eine neue Umgebungsvariable eingeführt: SEMAPHORE_OIDC_PROVIDERS zur Konfiguration von OpenID Connect (OIDC)-Providern.
Dies ist besonders nützlich, wenn Sie Semaphore in einem Docker-Container betreiben.
Die Variable muss gültiges JSON im folgenden Format enthalten:
SEMAPHORE_OIDC_PROVIDERS='{
"github": {
"client_id": "***",
"client_secret": "***"
// additional fields...
}
}'
Neue Struktur für temporäre Verzeichnisse
Wir haben die Struktur der temporären Verzeichnisse verbessert, indem wir projektbezogene Verzeichnisse eingeführt haben. Jetzt hat jedes Projekt seinen eigenen dedizierten Ordner unter dem tmp_path-Verzeichnis.
Diese Änderung erleichtert das Verwalten und Bereinigen von Cache, wenn ein Projekt entfernt wird.
Außerdem folgt das Inventory-Verzeichnis für Templates nun einem klaren Namensformat, z. B.:
tmp_path/project_0/repository_1_template_2_inventory_3
Diese Struktur hilft, das Inventory-Repository nicht bei jeder Task-Ausführung erneut zu klonen, verbessert die Performance und reduziert Redundanz.
Externe (LDAP- und OIDC-) Benutzer manuell hinzufügen
Sie können jetzt LDAP- und OIDC-Benutzer in Semaphore hinzufügen, bevor sie sich zum ersten Mal anmelden.
So können Sie deren Berechtigungen konfigurieren und sie im Voraus Projekten zuweisen.
Sie benötigen Administratorrechte, um einen Benutzer über die Weboberfläche hinzuzufügen (Checkbox External), oder Sie können die CLI mit dem Flag --external verwenden:
semaphore user add \
--external \
--login john \
--name John \
--email [email protected] \
--password=changeme
Standardwerte für Survey-Variablen
Sie können jetzt Standardwerte für Survey-Variablen festlegen, um bei Task-Ausführungen häufige Eingaben vorab auszufüllen.
TLS-Unterstützung für SMTP-Serververbindungen
Semaphore unterstützt jetzt sichere TLS-Verbindungen beim Versand von E-Mails über einen SMTP-Server. Beispielkonfiguration:
{
"email_alert": true,
"email_sender": "[email protected]",
"email_host": "smtp.example.com",
"email_username": "user123",
"email_password": "changeme",
"email_tls": true,
"email_port": "587",
"email_tls_min_version": "1.1" // optional (default 1.2)
}
Konfigurierbare Ansible-Playbook-Verbosity-Level
Sie können beim Ausführen von Ansible-Playbook-Tasks jetzt das gewünschte Verbosity-Level auswählen, was beim Debuggen und Troubleshooting hilft.
Chroot-Unterstützung und Ausführen von Tasks als anderer Benutzer
Semaphore kann nun Tasks innerhalb einer chroot-Umgebung und unter einem angegebenen Benutzer ausführen, was Sicherheit und Isolation verbessert. Beispielkonfiguration:
{
"process": {
"chroot": "/opt/semaphore/chroot",
"user": "semrun"
}
}
Beispiel für Umgebungsvariablen:
SEMAPHORE_PROCESS_CHROOT=/opt/semaphore/chroot
SEMAPHORE_PROCESS_USER=semrun
Bitbucket-Webhook-Authentifizierungsunterstützung
Integrationen können jetzt mit Bitbucket-Webhook-Authentifizierung konfiguriert werden.
Zeitzoneneinstellungen für Zeitpläne
Semaphore verwendet nicht mehr die Systemzeitzone. Stattdessen können Sie jetzt explizit eine Zeitzone für Zeitpläne festlegen, indem Sie die folgende Konfigurationsoption verwenden:
{
"schedule": {
"timezone": "Asia/Calcutta"
}
}
Oder mit der folgenden Umgebungsvariable:
SEMAPHORE_SCHEDULE_TIMEZONE=Asia/Calcutta
Fehlerbehebungen
- Einheitliche Verwendung der UTC-Zeitzone in der gesamten Anwendung.
- Vermeidung des Klonens des Inventory-Repositories bei jedem Task-Lauf.
- Terraform-Task-Checkboxes funktionieren jetzt korrekt.
- Wochentags-Checkboxes im Schedule funktionieren jetzt korrekt.
- Wiederherstellung der Möglichkeit, Beschreibungen für Templates festzulegen.