Continuous Integration (CI)

Softwareentwicklung findet immer mehr in Teams statt, und Teams müssen die Ergebnisse ihrer Arbeit in die Build-Umgebung integrieren. Beispielsweise sorgt Continuous Integration oder CI dafür, dass neue Programmteile sofort und nicht nur einmal nachts getestet und zusammengeführt werden können.

Softwareprogramme bestehen in der Regel aus einzelnen Modulen. Der Softwareentwicklungsprozess ist entsprechend gestaltet. Das gesamte Projekt wird in der Regel von mehreren Teams parallel vorangetrieben, ähnlich wie bei diesen Modulen.

In der Vergangenheit wurden Erweiterungen und Änderungen von Programmen oft in Form von "täglicher Arbeit" erstellt. Das Zusammenführen von Änderungen, die separat im Softwareentwicklungsteam vorgenommen werden, wird normalerweise nur einmal täglich auf dem "Build"-Server kompiliert.

Erst danach wurde die erweiterte Gesamtcodebasis genutzt, um den neuen Funktionsumfang zu testen. Diese traditionelle Programmiermethode birgt viele Risiken. Verfügt der neu erstellte Code nicht über Continuous Integration, wird der falsche Code als zu spät erkannt. Das Ergebnis ist ein zeitaufwändiger Feedbackprozess und viel Zeit, um Fehler zu beheben.

Vor der Einführung von Continuous Integration (CI) erwies sich das Warten auf die Fertigstellung anderer benötigter Softwareteile durch andere Teams als störend und erhöhte die Entwicklungskosten. Wenn während der nächtlichen Kompilierung auf dem Build-Server ein Problem auftritt, führt die Zeit, die benötigt wird, um das Problem am nächsten Tag zu beheben, zu weiteren Unterbrechungen im Entwicklungs- und Testprozess.