Beiträge
Die Vorteile der Verwendung eines Build-Frameworks
26. November 2020 • 2 min Lesezeit
Continuous Integration (CI) und/oder Continuous Delivery (CD) ist heutzutage die Norm bei Softwareprojekten. Es gibt viele Build-Server wie Azure DevOps, TeamCity, Jenkins und Cruise Control.Net. Die meisten dieser Server verwenden proprietäre Sprachen, um Build-Schritte zu definieren. Aber ist es eine gute Idee, Ihre Build-Schritte in einer proprietären Sprache zu codifizieren?
Einige Anwendungen sind einfach mit wenigen Build-Schritten, andere sind komplexer mit vielen Build-Schritten. Wenn Sie Build-Schritte in einer proprietären Sprache definieren, desto komplexer die Build-Schritte (in Bezug auf Raffinesse oder Anzahl), desto stärker werden Sie an eine Build-Plattform gebunden. Dies wird zum Problem, wenn Sie die Build-Plattform wechseln möchten. Zum Beispiel verwenden Sie JetBrains TeamCity in Ihrem lokalen Rechenzentrum, aber das Unternehmen beschließt, in die Cloud zu wechseln. Jetzt müssen Sie Ihre Build-Skripte umschreiben, da TeamCity auf der neuen Cloud-Plattform nicht unterstützt wird.
Anstatt Ihre Build-Skripte in einer proprietären Sprache zu schreiben, sollten Sie die Verwendung eines Build-Frameworks in Betracht ziehen.
Build-Frameworks haben zwei Vorteile:
- Ermöglichung der Portabilität zwischen Build-Plattformen.
- Ermöglichung der Versionierung Ihrer Build-Skripte zusammen mit Ihrem Anwendungscode.
Die Portabilität zwischen Plattformen gibt Ihnen die Flexibilität, zwischen Build-Plattformen mit minimalem Aufwand zu wechseln. Es wird immer eine gewisse Konfiguration auf einer neuen Build-Plattform geben, aber Build-Frameworks halten den Aufwand gering.
Meiner Meinung nach ist der größte Vorteil von Build-Frameworks die Möglichkeit, Ihre Build-Skripte zusammen mit Ihrem Anwendungscode einzuchecken und zu versionieren. Die Möglichkeit, Code von jedem Punkt in der Historie Ihrer Quellcodeverwaltung zu pullen und diesen Code zu erstellen, ist jeden Nachteil eines Build-Frameworks wert.
Es gibt zwei beliebte Frameworks im .Net-Bereich: Cake und Nuke Build. Beide Frameworks gibt es schon eine Weile. Ich habe Nuke Build verwendet und mag es. Ich habe großartige Dinge über Cake gehört und empfehle Ihnen, es sich anzusehen, bevor Sie entscheiden, welches Framework am besten für Ihr Projekt geeignet ist.
Wenn Sie also das nächste Mal eine neue Build-Definition für Ihre Anwendung erstellen, sollten Sie die Verwendung eines Build-Frameworks in Betracht ziehen und es zusammen mit Ihrer Anwendung in der Quellcodeverwaltung einchecken.
Autor: Chuck Conway ist ein KI-Ingenieur mit fast 30 Jahren Erfahrung in der Softwareentwicklung. Er entwickelt praktische KI-Systeme – Content-Pipelines, Infrastruktur-Agenten und Tools, die echte Probleme lösen – und teilt seine Erkenntnisse unterwegs. Verbinden Sie sich mit ihm in den sozialen Medien: X (@chuckconway) oder besuchen Sie ihn auf YouTube und auf SubStack.