modul:m450:learningunits:lu13:continuous_integration

LU13a - Continuous Integration (CI)

Bei der kontinuierlichen Integration handelt es sich um eine DevOps-Softwareentwicklungspraxis, bei der die Entwickler ihre Codeänderungen regelmässig in ein zentrales Repository einbringen, woraufhin automatisierte Builds und Tests durchgeführt werden.

Quelle: aws Amazon

Continuos Integration wird in der Entwicklungs- und Integrationsphase eines Softwareprojekts angewandt. Die Hauptziele sind:

  • Schnellere Einführung von Software-Aktualisierungen
  • Bugs schneller entdecken und beheben
  • Optimieren der Softwarequalität

Für die Umsetzung von Continuous Integration müssen einige Grundsätze beachtet werden:

Alle Entwickler teilen sich eine gemeinsame Codebasis, zum Beispiel ein Repository auf GitHub oder GitLab. Ein Entwickler schreibt einen Codeteil und testet diesen lokal mit Unittests. Die lokale Kopie des Repositories wird regelmässig mittels pull aktualisiert. Sobald ein Teil des Codes fertig ist, wird dieser mittels push ins gemeinsame Repository gestellt.

Jede Änderung am Sourcecode sollte so zeitnah wie möglich in die gemeinsame Codebasis überführt werden. Dadurch wird einerseits die Arbeit gesichert und andererseits steht der neue Code den anderen Entwicklern zur Verfügung.

Bevor die Änderungen in die gemeinsame Codebasis übernommen werden, finden automatisierte Qualitätsprüfungen statt. Dies kann statische Codeanalysen (Lint) aber auch Tests umfassen. Nur wenn der geänderte Code die Qualitätsprüfung erfolgreich absolviert, werden die Änderungen übernommen.


Marcel Suter

  • modul/m450/learningunits/lu13/continuous_integration.txt
  • Zuletzt geändert: 2024/03/28 14:07
  • von 127.0.0.1