Inhaltsverzeichnis
-
Funktionen
-
Aktivitäts- und Aufgabenprotokolle in Datei schreiben (PRO)
Behalten Sie ein dauerhaftes Protokoll aller Aktivitäten, indem Sie diese direkt in eine Datei speichern. Verfügbar in der PRO-Version.
Mehr erfahren » -
Seite für API-Tokens
Sie müssen cURL nicht mehr verwenden, um API-Tokens zu erstellen.
Mehr erfahren » -
Rohaufgabenprotokolle anzeigen
Sie können jetzt die unverarbeiteten, rohen Protokollausgaben für jede Aufgabe einsehen — ideal zum Debuggen.
Mehr erfahren » -
Projekt- und Runner-Cache leeren
Geben Sie Speicherplatz frei und starten Sie frisch, indem Sie den Cache für Projekte und Runner manuell leeren.
Mehr erfahren » -
Branch in Templates und Tasks überschreiben
Wechseln Sie flexibel den Branch, ohne Ihr gesamtes Template zu bearbeiten — überschreiben Sie ihn 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 Isolierung zu bieten und sie verständlicher zu machen.
Mehr erfahren » -
Extern (LDAP und OIDC) Benutzer manuell hinzufügen
Sie können LDAP- und OIDC-Benutzer jetzt zu Semaphore hinzufügen, bevor diese sich zum ersten Mal anmelden.
Mehr erfahren » -
Standardwerte für Survey-Variablen
Sie können jetzt Standardwerte für Umfragevariablen festlegen, um häufige Eingaben bei Task-Ausführungen vorzubelegen.
Mehr erfahren » -
TLS-Unterstützung für SMTP-Serververbindungen
Semaphore unterstützt nun sichere TLS-Verbindungen beim Versenden von E-Mails über einen SMTP-Server.
Mehr erfahren » -
Konfigurierbare Ansible-Playbook-Vebositätsstufen
Sie können jetzt die gewünschte Detailstufe (Verbosity) beim Ausführen von Ansible-Playbook-Tasks wählen, was beim Debuggen hilft.
Mehr erfahren » -
Chroot-Unterstützung und Ausführung 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 länger die Systemzeitzone. Stattdessen können Sie jetzt explizit eine Zeitzone für Zeitpläne festlegen.
Mehr erfahren »
-
Funktionen
Aktivitäts- und Aufgabenprotokolle in 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 ...
Datei-Logging unterstützt außerdem Rotation. Weitere Details finden Sie in der Dokumentation.
API-Tokens Seite
Rohaufgabenprotokolle anzeigen
Sie können jetzt das rohe Protokoll einer Aufgabe öffnen, indem Sie in der unteren rechten Ecke des Aufgabenprotokollfensters auf die RAW LOG-Schaltfläche klicken.
Projekt- und Runner-Cache leeren
Semaphore gibt Ihnen jetzt mehr Kontrolle über das Cache-Management.
Früher wurde ungenutzter 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 leeren” können Sie manuell bereinigen:
- Cache für ein bestimmtes Projekt
- Cache für einen Projekt-Runner
- gesamten Cache für einen Runner
- oder sogar den gesamten Semaphore-Server-Cache
Das hilft, Festplattenspeicher freizugeben, die Leistung zu verbessern und die 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 Beim Ausführen nach Branch fragen, um bei jeder Task-Ausführung 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.
Das 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 für temporäre Verzeichnisse verbessert, indem wir pro Projekt eigene Verzeichnisse eingeführt haben. Nun hat jedes Projekt seinen eigenen Ordner unter dem tmp_path-Verzeichnis.
Diese Änderung erleichtert das Verwalten und Aufräumen von Cache, wenn ein Projekt entfernt wird.
Zusätzlich folgt das Inventar-Verzeichnis für Templates jetzt einem klaren Namensschema, z. B.:
tmp_path/project_0/repository_1_template_2_inventory_3
Diese Struktur verhindert das wiederholte Klonen des Inventar-Repositories bei jeder Task-Ausführung, verbessert die Leistung und reduziert Redundanz.
Externe (LDAP und OIDC) Benutzer manuell hinzufügen
Sie können LDAP- und OIDC-Benutzer jetzt zu 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 --external-Flag 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, sodass häufige Eingaben bei Task-Ausführungen vorab ausgefüllt werden können.
TLS-Unterstützung für SMTP-Serververbindungen
Semaphore unterstützt jetzt sichere TLS-Verbindungen beim Versenden 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-Stufen
Sie können jetzt die gewünschte Verbosity-Stufe beim Ausführen von Ansible-Playbook-Tasks auswählen, was beim Debuggen und Troubleshooting hilft.
Chroot-Unterstützung und Ausführung von Tasks als anderer Benutzer
Semaphore kann Tasks jetzt innerhalb einer chroot-Umgebung und unter einem angegebenen Benutzer ausführen, wodurch Sicherheit und Isolation verbessert werden. 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 nun mit Bitbucket-Webhook-Authentifizierung konfiguriert werden.
Zeitzoneneinstellungen für Zeitpläne
Semaphore verwendet nicht länger 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 mittels der folgenden Umgebungsvariable:
SEMAPHORE_SCHEDULE_TIMEZONE=Asia/Calcutta
Fehlerbehebungen
- Konsistente Nutzung der UTC-Zeitzone in der gesamten Anwendung.
- Verhindert, dass das Inventar-Repository bei jedem Task-Lauf geklont wird.
- Terraform-Task-Checkboxen funktionieren jetzt korrekt.
- Wochentags-Checkboxen im Zeitplan funktionieren jetzt korrekt.
- Wiederherstellung der Möglichkeit, Beschreibungen für Templates zu setzen.