Semaphore v2.18 bringt neue Funktionen und Verbesserungen für Infrastrukturautomatisierung und DevOps-Teams. Dieses Release konzentriert sich auf eine bessere Developer Experience und schlankere Infrastructure-as-Code-Workflows.
Integration von Cloud-Secret-Managern
Organisationen, die Cloud-Plattformen nutzen, brauchen eine Möglichkeit, Secrets zur Laufzeit direkt aus dem Secret-Management-Dienst ihres Cloud-Anbieters zu beziehen, um doppelte Zugangsdaten zu vermeiden und bestehende Rotationsrichtlinien zu nutzen. Diese Funktion fügt native Integrationen mit AWS Secrets Manager und Azure Key Vault als reine Enterprise-Funktionen hinzu.

Enterprise
- Integration mit AWS Secrets Manager — Secrets zur Laufzeit aus AWS Secrets Manager beziehen, per IAM-Rollen, Access Keys oder übernommenen Rollen (Assumed Roles). Unterstützt JSON-strukturierte Secrets mit Feldextraktion und automatischer Rotation. (#2248)
- Integration mit Azure Key Vault — Secrets zur Laufzeit aus Azure Key Vault beziehen, per Managed Identity oder Service-Principal-Authentifizierung. Unterstützt Secrets, Schlüssel und Zertifikate mit automatischer Rotation. (#2248, #3170)
Secrets aus entferntem Speicher laden
Semaphore kann jetzt Secrets automatisch aus HashiCorp Vault, AWS Secrets Manager, Azure Key Vault und Devolutions Server in den Schlüsselspeicher importieren und synchron halten.

Verbinden Sie einen Secret-Speicher mit HashiCorp Vault, AWS Secrets Manager, Azure Key Vault oder Devolutions Server und definieren Sie anschließend einen oder mehrere Sync-Pfade, um den Import zu steuern:
- Pfad — aus welchem Ordner/Teilbaum des entfernten Speichers importiert wird.
- Präfix — eine Zeichenkette, die jedem generierten Schlüsselnamen vorangestellt wird, um Importe mit einem Namensraum zu versehen (z. B. prod-).
- Trennzeichen — wie verschachtelte Secret-Pfade zu einem einzigen lesbaren Schlüsselnamen zusammengefasst werden (sinnvolle Standardwerte je Anbieter werden angewendet).
Semaphore erkennt den passenden Schlüsseltyp (SSH-Schlüssel, Login/Passwort oder Secret-String) automatisch. Importe laufen bei Bedarf über Jetzt synchronisieren oder nach einem Hintergrundzeitplan, den Sie in Minuten festlegen. Jeder Sync gleicht die Kopie vollständig ab — Schlüssel werden hinzugefügt, aktualisiert und entfernt, damit sie der Quelle entsprechen — während Ihre manuell erstellten Schlüssel unangetastet bleiben. In Hochverfügbarkeits-Deployments laufen geplante Syncs auf einem einzelnen Knoten, um doppelte Importe zu vermeiden.
Sync-Pfade funktionieren sowohl auf Ebene des Schlüsselspeichers (gemeinsame Projektschlüssel) als auch auf Ebene der Variablengruppe (Umgebungsvariablen).

Mehrere Variablengruppen pro Vorlage

Semaphore unterstützt jetzt das Anhängen mehrerer Variablengruppen (Umgebungen) an jede Aufgabenvorlage. Bisher konnte nur eine einzige Variablengruppe angehängt werden, was Nutzer dazu zwang, Variablen über mehrere Gruppen hinweg zu duplizieren, wenn mehrere Vorlagen gemeinsame Einstellungen teilten, oder monolithische Variablengruppen zu bauen, die alles enthielten. Vorlagen können jetzt mehrere Variablengruppen kombinieren, und dieses Release behebt zahlreiche Fehler in der Variablenverarbeitung — Serialisierung, Vorrang, Weitergabe und Lebenszyklus von Survey-Variablen.
Galaxy-Installation überspringen
Vor dem Ausführen eines Playbooks führt Semaphore einen ansible-galaxy install-Schritt aus, um die in Ihrer requirements.yml deklarierten Rollen und Collections herunterzuladen. In vielen Setups ist dieser Schritt unnötig: Die Abhängigkeiten sind bereits im Runner-Image enthalten, im Repository vendored oder werden über einen internen Mirror bereitgestellt. Ihn bei jeder Aufgabe auszuführen, erhöht nur die Latenz — und in abgeschotteten Umgebungen ohne Internetzugang schlägt er schlicht fehl.
Dieses Release fügt den Einstellungen der Aufgabenvorlage die Option Galaxy-Installation überspringen hinzu. Ist sie aktiviert, überspringt Semaphore den Vorbereitungsschritt ansible-galaxy install und beginnt direkt mit der Ausführung des Playbooks. Das beschleunigt den Start von Aufgaben und beseitigt die harte Abhängigkeit von Ansible Galaxy und Git-Zugriff zur Ausführungszeit — besonders nützlich für Offline- und vorab bereitgestellte Runner.

