
Continuous Integration
Continuous Integration, kurz CI, ist eine Arbeitsweise in der Softwareentwicklung: Jede Änderung am Programmcode wird sofort mit dem Stand des Teams zusammengeführt und automatisch getestet. So fallen Fehler innerhalb von Minuten auf und nicht erst Wochen später.
An einem Programm arbeiten oft viele Leute gleichzeitig. Jeder verändert einen anderen Teil des Textes, aus dem das Programm besteht. Diese Textteile müssen am Ende zu einem funktionierenden Ganzen zusammenpassen. Continuous Integration, auf Deutsch etwa « ständiges Zusammenführen », bedeutet: Jeder schiebt seine Änderung mehrmals am Tag in die gemeinsame Fassung. Und jedes Mal prüft ein Computer automatisch nach, ob das Programm noch startet und noch richtig rechnet. Findet er ein Problem, meldet er es sofort an die Person, die es verursacht hat.
Warum kleine Schritte billiger sind als große
Früher arbeiteten Teams oft wochenlang getrennt und führten ihre Arbeit erst am Ende zusammen. Das nannte man halb im Scherz « Integrationshölle ». Denn wenn zwei Leute dieselbe Stelle unterschiedlich verändert haben, muss jemand entscheiden, welche Version gilt. Bei einer Woche Abstand sind das ein paar Konflikte, bei drei Monaten hunderte. Und niemand erinnert sich mehr, warum er etwas so geschrieben hat.
CI dreht das Verhältnis um. Wer stündlich zusammenführt, hat immer nur winzige Konflikte. Ein Fehler steckt fast sicher in der Änderung, die man vor zehn Minuten gemacht hat. Man muss ihn nicht suchen, man weiß, wo er ist. Faustregel aus der Praxis: Ein Fehler, der am selben Tag entdeckt wird, kostet einen Bruchteil der Zeit eines Fehlers, der Monate im System schlummert.
Dazu kommt ein psychologischer Effekt. Weil der gemeinsame Stand jederzeit lauffähig ist, kann man jederzeit eine neue Version an die Nutzer ausliefern. Genau das macht Dienste wie Google oder Amazon möglich, die täglich hunderte Male aktualisiert werden. Ohne CI wäre so ein Tempo undenkbar.
Was der Server bei jeder Änderung abarbeitet
Der gemeinsame Programmtext liegt in einem sogenannten Repository, einem zentralen Lager mit vollständiger Änderungsgeschichte. Meist wird dafür das Werkzeug Git benutzt, oft auf Plattformen wie GitHub oder GitLab. Sobald jemand dort etwas hochlädt, startet ein Server automatisch eine festgelegte Abfolge von Prüfschritten. Diese Abfolge heißt Pipeline.
Typisch sind vier Schritte. Erstens wird der Text in ein ausführbares Programm übersetzt, das nennt man Build. Zweitens laufen automatische Tests: kleine Prüfprogramme, die einzelne Funktionen mit Beispielwerten aufrufen und die Ergebnisse gegen den erwarteten Wert vergleichen. Drittens prüfen Werkzeuge den Stil und die Sicherheit des Codes. Viertens berichtet der Server das Ergebnis zurück, grün oder rot.
Wichtig ist die Regel: Ist die Pipeline rot, hat deren Reparatur Vorrang vor allem anderen. Sonst bauen alle weiter auf einem kaputten Fundament. Häufig verwechselt wird CI mit Continuous Deployment. Das ist der Schritt danach: das automatische Ausliefern der geprüften Version an die echten Nutzer. Zusammen kürzt man beides als CI/CD ab.
CI in KI-Projekten und in Firmenmeldungen
In Nachrichten über Technologiefirmen taucht CI meist als Teil einer Zahl auf. Ein Unternehmen berichtet, es liefere pro Tag tausende Änderungen aus. Dahinter steckt immer eine CI-Infrastruktur. Auch bei Sicherheitsvorfällen ist sie ein Thema: Ein manipulierter Prüfschritt kann Schadcode in fertige Programme einbauen. Solche Angriffe auf die Lieferkette gelten inzwischen als ernste Gefahr.
Bei KI-Systemen wird das Prinzip erweitert und heißt dann oft MLOps. Hier wird nicht nur der Programmtext geprüft, sondern auch das Verhalten des Modells. Eine Pipeline lässt das Modell hunderte Testfragen beantworten und vergleicht die Trefferquote mit der vorherigen Version. Wird sie schlechter, blockiert die Pipeline die Veröffentlichung.
Praktisch begegnet man CI schon bei kleinen Projekten. Wer auf GitHub ein eigenes Programm ablegt, kann dort kostenlos eine Pipeline einrichten. Neben jeder Änderung erscheint dann ein grünes Häkchen oder ein rotes Kreuz. Genau dieses Symbol ist die sichtbarste Spur von Continuous Integration.