Continuous Integration (CI) ist die kontinuierliche Zusammenführung von Software-Komponenten zu einem gesamten System. Bei größeren Software-Systemen werden diese Komponenten in der Regel durch mehrere Software-Entwickler oder Teams erstellt. Bei der Integration wird auf dem CI-Server das Gesamtsystem zentral gebaut und kann dann automatisiert dort getestet werden.
Wichtig ist dabei, das diese Integration laufend vorgenommen wird (am Besten bei jeder Code-Änderung im zentralen Code-Repository, notfalls aber zumindest einmal täglich als „Nightly Build“).
Die Open Source Plattform Jenkins ist der defacto Standard im Bereich CI.
Die Kosten für das Aufsetzen einer für Ihren Kontext funktionalen CI-Umgebung hängen von der Komplexität ihrer Systeme, ihrer Qualitätssicherung und ihres Releasemanagements ab.
Da Jenkins und alle anderen Komponenten als Open Source zu beziehen sind, entstehen ihnen außer dem Hosting von Jenkins und evtl. des Repository Managements (Nexus oder Artifactory) keine Fixkosten.
Natürlich benötigen Sie jemanden, der die CI-Umgebung pflegen kann, doch wird das häufig von der Entwickler-Mannschaft übernommen. Und außerdem amortisieren sich diese Kosten durch den Gewinn an Qualität, Robustheit und Planbarkeit in der Software-Entwicklung.
Der wesentliche Nutzen einer CI-Umgebung ist: