nw  

CI/CD Konzeptionierung für Cyberduck

Zusammenfassung

Die Arbeit fokussiert sich auf die Erstellung eines Konzept um die bestehenden Build Jobs in Jenkins zu GitHub Actions zu migrieren für Cyberduck, einen Multi-Protokoll-Client.

Schlüsselbegriffe
Zielsetzung

Das Hauptziel besteht in der Analyse der bestehenden Jenkins-Umgebung von Cyberduck und der Entwicklung eines Konzepts für die Migration zu GitHub Actions. Dieses Konzept soll sämtliche Aspekte der Softwareentwicklung abdecken. Das übergeordnete Ziel besteht darin, ein durchgängiges Konzept für Continuous Integration (CI), Continuous Deployment (CD) und Releases zu etablieren, das auf GitHub Actions basiert.

Ausgangslage

Aktuell erfolgt die Anwendungsverwaltung über Jenkins. Gewisse Teile der notwendigen Automatisierungen für Cyberduck werden bereits mithilfe von GitHub Actions durchgeführt, insbesondere im Bereich der Ausführung von Unit- und Integrationstests. Um den Betrieb einer separaten Infrastruktur zu vermeiden und eine öffentliche Dokumentation zu gewährleisten, sollen weitere bisher in Jenkins verwaltete Prozesse ebenfalls auf GitHub Actions migriert werden. Hierbei liegt der Fokus darauf, die bestehenden Builds konzeptionell zu überprüfen und gegebenenfalls neu zu strukturieren.

Ergebnisse

Trotz der Unterschiede in der Implementierung weisen Jenkins und GitHub Actions ähnliche Grundstrukturen auf. Im Gegensatz zum Jenkins Slave entfallen bei den GitHub Actions Runnern Wartungsarbeiten, was eine entscheidende Stärke darstellt.In diesem Projekt wurde folgendes Grobkonzept erstellt.

Grobkonzept

Es existieren verschiedene Tools, um die Migration von Jenkins zu GitHub Actions zu erleichtern. In diesem Projekt wurde das Tool GitHub Actions Importer verwendet. Die Audit-Funktion des GitHub Actions Importer erweist sich als wertvolles Instrument für die Analyse bestehender Jenkins build jobs und vereinfacht den Übergang zu GitHub Actions.

Die geplante Konzeptentwicklung und die Implementierung weiterer Automatisierungen sind erfolgversprechend. Dennoch sollte betont werden, dass die Migration sämtlicher Build Jobs eine Herausforderung darstellt, bedingt durch die Vielfalt involvierter Technologien, was die Fehlersuche und -behebung erheblich komplexer macht. Ein agiles Vorgehen wird empfohlen, um mögliche Hindernisse frühzeitig zu erkennen. Der Fokus auf Automatisierung ebnet den Weg für eine effizientere Ressourcennutzung und verringert die Fehleranfälligkeit. Die erarbeitete Konzeptentwicklung und Automatisierung erleichtern zukünftige Arbeitsschritte. Das Konzept zeigt, wie die Möglichkeiten von GitHub Actions genutzt werden können und welche Optionen zur Erweiterung bestehen.

Projektdaten
Projekttyp Informatik Projekt 5
Projektdauer 18.09.2022 – 19.01.2024
Aufwand pro Person 180 Stunden
Teamgrösse 1 Person
Auftraggeber

iterate Gmbh

Junkerngasse 12

3011 Bern

iterate GmbH
Projektteam

Raveena Ramany, Informatik

Kontakt

Sebastian Graf, sebastian.graf@fhnw.ch

<< zurück