Mit CI (continuous integration) und CD (continuous deployment) sind viele Softwareprojekte schon recht modern aufgestellt. Aber spätestens, wenn das Projekt wächst, merkt man schnell, dass CI nicht gleich CI ist. Wie komplex wird die Fehlersuche, wenn die Pipeline unerklärlich fehlschlägt? Kann ich einfach mal das gleiche Inkrement lokal erzeugen? Und wie wartbar ist meine Pipeline noch, wenn es darum geht neue Komponenten zu integrieren und die Pipeline zu erweitern? Das kann dann schnell einiges an Entwicklungszeit konsumieren und die eigentliche Produktentwicklung ausbremsen.
Anicors goes nuke
Wir haben unser Produkt anicors auf nuke umgestellt. Nuke ist ein build automation system, das einige Vorteile bietet.
Das Kernprinzip: eine Pipeline mit nuke basiert auf einer C# Console App. So simple und doch so effizient. Damit ist es nicht nur überall dort lauffähig, wo dotnet verfügbar ist – lokal auf dem Rechner genauso wie auf dem build agent. Sondern es verstecken sich dahinter eine ganze Reihe neuer Möglichkeiten:
- Volle Unterstützung von IDE features wie Code Completion und Refactoring. Und warum nicht mal die Pipeline lokal debuggen, um Fehler schneller zu finden?
- Die Gewissheit, dass Unit- und Integrationstests eins zu eins lokal genauso wie in der Pipeline laufen.
- Abhängigkeiten zu anderen Komponenten oder Third-Party-Produkten werden transparent zur Verfügung gestellt. So können Steps aus der Pipeline die lokale Entwicklung vereinfachen, ohne separate Skripte oder Tools pflegen zu müssen.
Was nuke noch so bietet
Nuke modelliert alle Steps auf der Pipeline als sogenannte Targets. Damit lassen sich nicht nur Abhängigkeiten abbilden, sondern auch direkt graphisch in einem interaktiven Diagramm darstellen.
Eine große Auswahl an CLI Tools sind direkt in nuke auf übersichtliche Art und Weise verwendbar – über die sogenannte Fluent Syntax. So sind nicht nur dotnet Befehle, sondern auch eine Anbindung an Docker, Kubernetes, Helm, SpecFlow und viele weitere, als Einzeiler verfügbar.
Und es ist dynamisch erweiterbar. Wir haben die Erzeugung von Testdaten in Testsystemen als Teil des Deploy über das nuke Projekt abgebildet. So sind nicht nur Datensätze für verschiedene Szenarien direkt verfügbar, sondern auch lokal einspielbar. Was können wir für Sie tun? Sehen Sie sich unsere Leistungen im Überblick unter dem folgenden Link an: Das machen wir für Sie.
Sprechen Sie uns doch einfach an und nehmen Sie Kontakt zu uns auf.