Semaphore-Konfiguration als Code verwalten
Definieren Sie unterstützte Projekte, Repositorys und Task Templates als Code. Prüfen Sie einen Terraform-Plan, bevor Sie die Automatisierungsplattform ändern.
Ressource "semaphoreui_project" "production_ops" { name = "Production operations" alert = true max_parallel_tasks = 10}
Konfigurieren Sie Semaphore noch von Hand?
Wiederholte Einrichtung in mehreren Projekten kostet Zeit. Manuelle Änderungen lassen sich leicht aus den Augen verlieren.
Definieren Sie mit dem Terraform-Provider unterstützte Semaphore-Ressourcen in Git und prüfen Sie Änderungen vor der Übernahme.
Ihr erstes Semaphore-Projekt mit Terraform erstellen
- 01
Den Provider mit Semaphore verbinden
Legen Sie Ihre Semaphore-Adresse fest und authentifizieren Sie sich mit einem API-Token.
- 02
Die Ressourcen in Git definieren
Definieren Sie Projekte, Repositorys und Task Templates. Prüfen Sie Änderungen im selben Pull Request wie Ihre Infrastrukturkonfiguration.
- 03
Plan prüfen und anschließend übernehmen
Prüfen Sie die vorgeschlagenen Änderungen vor der Übernahme. Halten Sie die Konfiguration für die nächste Aktualisierung in Git.
Die Plattform verwalten, von der Ihre Jobs abhängen
Wo der Provider endet und Semaphore beginnt
Die Plattform konfigurieren, die Ihre Jobs ausführt
Die README des Providers nennt Projekte, Umgebungen, Inventare, Schlüssel, Repositories, Zeitpläne, Vorlagen, Benutzer und Ansichten. Die Ressourcenabdeckung hängt von der Provider-Version ab. Bestätigen Sie genaue Felder und Lebenszyklusverhalten anhand der Registry-Dokumentation, statt anzunehmen, dass jede Oberflächeneinstellung abgebildet ist.
Plattformänderungen vor der Übernahme prüfen
Ein Plan hilft dem Team, vorgeschlagene Änderungen an verwalteten Ressourcen zu erkennen. Eine Vorlagenänderung kann eine spätere operative Ausführung verändern. Prüfen Sie solche Diffs daher genauso sorgfältig wie ausführbaren Quellcode. Auch Terraform-State und Provider-Zugangsdaten benötigen geeignete Zugriffskontrollen und eine Backend-Strategie.
Das aktuelle Wartungsmodell verstehen
Das Provider-Repository beschreibt derzeit eine Wartung nach bestem Bemühen mit KI-Unterstützung und erklärt, dass es nicht aktiv gepflegt wird. Das ist bei der Einführung wesentlich zu berücksichtigen. Testen Sie benötigte Ressourcen, legen Sie Versionen fest und lesen Sie offene Issues, bevor Sie den Provider zu einer kritischen Bereitstellungsabhängigkeit machen.
Dokumentation und verwandte Funktionen
FAQ
Was verwaltet der Semaphore-Terraform-Provider?
Der Provider verwaltet unterstützte Semaphore-Ressourcen über die Semaphore API, etwa Projekte, Repositories, Vorlagen und weitere dokumentierte Ressourcenfamilien. Er konfiguriert die Plattform selbst. Das unterscheidet sich vom Einsatz von Semaphore zur Ausführung von Terraform-Code, der Ihre Cloud-Infrastruktur verwaltet. Prüfen Sie die Ressourcen- und Argumentdokumentation der festgelegten Provider-Version. Eine Einstellung in der Weboberfläche ist nicht automatisch ein Beleg für ihre Unterstützung im Provider.
Muss ich Terraform in Semaphore ausführen, um den Provider zu verwenden?
Nein. Der Provider kann überall laufen, wo Sie Terraform ausführen, sofern diese Umgebung die Semaphore API erreicht und sich mit den erforderlichen Rechten authentifizieren kann. Sie können einen Arbeitsplatzrechner oder Ihre vorhandene Konfigurationspipeline verwenden. Legen Sie Ausführungsumgebung, API-Zugangsdaten und Zustandsbackend des Providers ausdrücklich fest. Falls Sie ihn später über Semaphore selbst ausführen, bewerten Sie diese Abhängigkeit sorgfältig, damit Plattformkonfiguration und ihre Ausführbarkeit wiederherstellbar bleiben.
Kann ich den Semaphore Terraform Provider mit OpenTofu verwenden?
Der Provider verwendet das Terraform-Provider-Protokoll. Ein lokaler Test setzte semaphoreui/semaphore 0.3.9 in OpenTofu gegen eine isolierte Semaphore-2.19.12-Instanz ein. Der Test las ein vorhandenes Projekt, erstellte ein temporäres Projekt und fand bei einem folgenden Plan keine Abweichungen. Er prüfte weder die Terraform CLI noch jede Provider-Ressource. Legen Sie eigene Versionen fest und prüfen Sie die von Ihrem Team benötigten Ressourcen und Lebenszyklusoperationen vor der Einführung.
Kann ich bereits über die Oberfläche erstellte Ressourcen in Terraform importieren?
Prüfen Sie für jede Ressource in der Dokumentation Ihrer festgelegten Provider-Version, ob ein Import unterstützt wird und welche Kennung nötig ist. Gehen Sie nicht von einem einheitlichen Importverhalten aller Ressourcen aus. Legen Sie vor dem Anwenden eines Plans fest, wie die vorhandene Konfiguration abgebildet wird und welches System spätere Änderungen verantwortet. Beginnen Sie mit einer nicht produktiven Ressource, prüfen Sie den entstandenen State und die vorgeschlagenen Änderungen und vermeiden Sie, eine funktionierende gemeinsame Konfiguration versehentlich zu ersetzen.
Können wir die Semaphore-Konfiguration in Git verwalten?
Ja. Speichern Sie die Terraform-Konfiguration für unterstützte Semaphore-Ressourcen in einem versionierten Repository und prüfen Sie Änderungen über Ihren normalen Pull-Request-Prozess. Der Provider übernimmt diese Konfiguration über die Semaphore API. Speichern Sie API-Zugangsdaten getrennt vom Code und verwenden Sie ein zur verwalteten Konfiguration passendes Zustandsbackend.
Kann der Provider Task Templates verwalten?
Task Templates gehören zu den dokumentierten Ressourcenfamilien des Providers. Nutzen Sie die Registry-Referenz für die genauen Argumente Ihrer festgelegten Provider-Version. Eine Vorlagenänderung kann nachfolgende Automatisierungsausführungen beeinflussen. Prüfen Sie daher den Plan und bestätigen Sie die resultierende Konfiguration in Semaphore, bevor das Team den aktualisierten Job verwendet.
Ist der Provider dasselbe wie die Ausführung von Terraform in Semaphore?
Sie dienen unterschiedlichen Zwecken. Der Provider verwaltet Semaphore-Konfiguration über dessen API. Ein Terraform Task Template führt Ihre Infrastrukturkonfiguration aus Semaphore aus. Sie können beide unabhängig einsetzen: Konfigurieren Sie die Automatisierungsplattform aus Ihrer vorhandenen Terraform-Umgebung und nutzen Sie anschließend ihre Vorlagen für die vom Team bereits gepflegten Infrastrukturjobs.
Wo sollte ich das Provider-API-Token und den Terraform-Zustand aufbewahren?
Übergeben Sie das API-Token über die unterstützte Provider-Konfiguration, ohne es in Git zu speichern. Wählen Sie ein Terraform-Zustandsbackend mit für Ihr Team geeigneter Zugriffssteuerung und Sicherung. Die Provider-Ausführungsumgebung benötigt Netzwerkzugriff auf Semaphore und eine Identität, die die in der Konfiguration deklarierten Ressourcen verwalten darf.
