Nane Kratzke

Thesis:

Vergleich von CI/CD-Systemen zum Zwecke von Installationstests kommerzieller Softwareprodukte

Published: 29 Mar 2022 (latest update: 08 Aug 2022)
Type: Bachelor (B. Sc.)
State: completed
Author: Okayhan Düzci
Study program: Informatik
Language: Deutsch
Company: Plato AG

Am Beispiel des kommerziellen Softwareprodukts e1ns soll untersucht werden, wie sich Integrations- und Installationsprozesse automatisiert durchführen und prüfen lassen. Hierbei sollen Continuous Integration und Continuous Deployment (CI/CD) Systeme hinsichtlich Aspekten wie

  • dem Ressourcenverbrauch,
  • der Betriebskomplexität,
  • dem Zeitaufwand zur Implementierung eines automatisierten Integrations- und Installationsprozesses (Build Pipeline),
  • der Geschwindigkeit der Build Pipeline,
  • der Unterstützung zur Fehleridentifikation innerhalb einer Build Pipeline,
  • und dem Umfang verfügbarer Schnittstellen und Frameworks die in Build Pipelines genutzt werden können

verglichen werden.

Die untersuchten CI/CD-Systeme sollen hierzu unter gleichen Infrastrukturbedingungen (Systemspezifikation, Dimensionierung virtueller Maschinen) betrieben werden. Der Integrations- und Installationsprozess soll dabei den Bau und die Bereitstellung eines Installationsartefakts sowie den Test dieses Installationsartefakts zur Laufzeit (Installationstest) umfassen. Fehler, die während des automatisierten Integrations- und Installationsprozesses entstehen, sollen transparent für den Benutzer ersichtlich sein.

Teilaufgaben:

  • Einordnung von CI/CD-Systemen in existierende DevOps-Philosophien (z. B. Shift-Left-Testing)
  • Analyse und vergleichende Betrachtung bestehender CI/CD-Systeme und deren Build-Pipeline Architekturen
  • Auswahl mindestens zweier für die Aufgabenstellung geeigneter CI/CD-Systeme
  • Automatisierung des Integrations- und Installationsprozesses für die gewählten CI/CD-Systeme und das gewählte Softwareprodukt
  • Vergleich der Integrations- und Installationsprozesse anhand der oben angegebenen Kriterien
  • Ableitung von Lessons Learned und Empfehlungen für weitere Softwareprodukte
  • Dokumentation der oben angegebenen Schritte (Bachelor-Arbeit)