CI/CD-Engine Dagger 0.10 erhöht die Flexibilität
Die programmierbare und modular aufgebaute CI/CD-Engine Dagger erweitert die Flexibilität beim Erstellen von Pipelines durch individuelle Functions-Aufrufe.
Das von Docker-Gründer Solomon Hykes und dessen Kollegen Sam Alba und Andrea Luzzardi 2022 offiziell gestartete Open-Source-Projekt Dagger hat Version 0.10.0 seiner Dagger Engine vorgelegt. Entwicklerinnen und Entwickler können damit nach dem Lego-Prinzip individuelle CI/CD-Pipelines (Continuous Integration / Continuous Delivery) aus vordefinierten Modulen erstellen. Anstelle komplexer YAML-Skripte lassen sich dazu einzelne Aktionen als Bausteine in gängigen Programmiersprachen wie Go, Python oder TypeScript ablegen. Das neue Release der Dagger Engine eröffnet nun die Möglichkeit, benutzerdefinierte Functions über eine GraphQL API einzubinden.
Dagger API mit eigenen Funktionen erweitern
Das Grundprinzip von Dagger beruht auf einzelnen Aktionen, die in wiederverwertbaren Modulen bereitstehen. Entwicklerinnen und Entwickler bauen daraus maßgeschneiderte CI/CD-Pipelines auf, die sich lokal testen und debuggen lassen, bevor sie an ein beliebiges Continuous-Integration-System (GitHub, GitLab, CircleCI, Jenkins etc.) übergeben werden.
Durch die in Dagger Engine 0.10.0 neu hinzugekommene Option der Dagger Functions gewinnen Developer zusätzliche Flexibilität. Grundlegende Funktionen wie beispielsweise "copy a file" oder "pull a container image" lassen sich über die GraphQL API direkt aus dem Programmcode heraus aufrufen. Entwicklerinnen und Entwickler können die Dagger Functions zudem um eigene Funktionen beliebig erweitern. Verpackt (containerisiert) in den wiederverwertbaren Modulen lassen sich dann auch die individuellen Funktionen über das sogenannte Daggerverse – eine Sammlung von Modulen und Funktionen, die von Dagger, der Community und einzelnen Anwenderinnen und Anwendern erstellt wurden – bereitstellen und teilen.
Dem eigenen Anspruch, CI as Code umzusetzen, kommt Dagger damit einen weiteren Schritt näher. Denn über die GraphQL API lassen sich nicht nur einzelne Funktionen aufrufen, sondern mit einer entsprechend konfigurierten Abfrage können auch mehrere Dagger Functions kombiniert werden, um komplexe, dynamische Pipelines zu kreieren. Darüber hinaus lassen sich die Funktionen auch direkt über die CLI aufrufen, ohne überhaupt Code schreiben zu müssen.
Mehr zur Dagger-Plattform und den Neuerungen
Weitergehende Informationen zu den Dagger Functions und den Neuerungen in Dagger Engine 0.10.0 liefert der Blogbeitrag. Wer sich grundlegend mit Dagger, den Functions sowie Modulen vertraut machen möchte, findet Hilfe im Developer Guide. Der Sourcecode steht im GitHub-Repository parat. Für Diskussionen und Wünsche unterhält das Dagger-Team einen Discord-Channel.
(map)