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)