Kontinuierliche Integration verwenden
Kontinuierliche Integration (Continuous Integration, CI) ist der Prozess, bei dem jedes Mal, wenn ein Teammitglied Änderungen am Code an die Versionskontrolle überträgt, automatisch Code erstellt und getestet wird. Eine Codeübergabe an den Haupt- oder Stammzweig eines gemeinsam genutzten Repositorys veranlasst das automatische Build-System, den gesamten Zweig zu erstellen, zu testen und zu validieren. CI ermutigt Entwickler, ihren Code und ihre Unit-Tests gemeinsam zu nutzen, indem sie ihre Änderungen jedes Mal, wenn sie eine Aufgabe abschließen, in das gemeinsame Repository der Versionskontrolle einbringen.
Softwareentwickler arbeiten oft isoliert und müssen dann ihre Änderungen in die übrige Codebasis des Teams integrieren. Wenn man Tage oder Wochen auf die Integration von Code wartet, kann dies zu zahlreichen Konflikten bei der Zusammenführung, schwer zu behebenden Fehlern, unterschiedlichen Codestrategien und doppeltem Aufwand führen. CI vermeidet diese Probleme, da der Code des Entwicklungsteams kontinuierlich in den gemeinsamen Versionskontrollzweig zusammengeführt werden muss.
CI hält den Hauptzweig auf dem neuesten Stand. Entwickler können moderne Versionskontrollsysteme wie Git verwenden, um ihre Arbeit in kurzlebigen Funktionszweigen zu isolieren. Wenn die Funktion fertig ist, sendet der Entwickler einen Pull-Request vom Funktionszweig zum Hauptzweig. Nach der Genehmigung des Pull-Requests werden die Änderungen im Hauptzweig zusammengeführt, und der Funktionszweig kann gelöscht werden.
Die Entwicklungsteams wiederholen diesen Prozess für jedes Workitem. Teams können Zweigstellenrichtlinien festlegen, um sicherzustellen, dass die Hauptniederlassung die gewünschten Qualitätskriterien einhält.
Build-Definitionen legen fest, dass jede Übergabe an den Hauptzweig den automatischen Build- und Testprozess auslöst. Automatisierte Tests stellen sicher, dass jeder Build eine gleichbleibende Qualität aufweist. KI fängt Fehler früher im Entwicklungszyklus auf, so dass sie weniger kostspielig zu beheben sind.
CI ist eine Standardfunktion in modernen DevOps-Plattformen. GitHub-Nutzer können CI über GitHub Actions implementieren. Azure DevOps-Benutzer können Azure Pipelines verwenden.