Enhancing Software Development Efficiency with CI/CD Pipeline Templating and Evaluation

  • Matthias Mario Girkinger

    Studienabschlussarbeit: Masterarbeit

    Abstract

    Diese Arbeit untersucht die Verbesserung der Effizienz der Softwareentwicklung durch
    die Erstellung von Templates und die Bewertung von Continuous Integration/Continuous Deployment (CI/CD) Pipelines. In dieser Studie wird ein neuartiger Ansatz zum
    Benchmarking bestehender CI/CD-Praktiken vorgestellt und die potenziellen Effizienzgewinne durch das Templating von Pipelines untersucht.
    Die Studie wendet eine neue Methodik an, um verschiedene CI/CD-Technologien,
    darunter Jenkins, GitLab CI und GitHub Actions, in einer kontrollierten Umgebung zu
    bewerten, die reale Softwareentwicklungsszenarien simuliert, indem drei MicroserviceProjekte eingeführt werden, die sich in bestimmten Pipelineschritten gleichen, sich aber
    in anderen unterscheiden. Die Studie bewertet diese Technologien anhand mehrerer
    Dimensionen wie Implementierungskomplexität, Konfigurationskomplexität und maximale Dateikomplexität und bietet eine vergleichende Analyse von CI/CD-Ansätzen mit
    Templates im Vergleich zu Standalone-Ansätzen.
    Die Studie entwickelt eine Reihe von Metriken, um die Effektivität verschiedener
    CI/CD-Implementierungen systematisch zu messen und zu vergleichen und trägt so zu
    einem tieferen Verständnis der CI/CD-Dynamik im Software-Projektmanagement bei.
    Die Ergebnisse deuten darauf hin, dass Templated Pipelines die betriebliche Effizienz
    verbessern, aber auch, dass es noch viele weitere Punkte gibt, die nicht nur bei den implementierten Metriken, sondern auch beim Bewertungsansatz zu berücksichtigen sind.
    Diese Arbeit leistet einen Beitrag zum Software-Engineering, indem sie einen detaillierten Bewertungsrahmen bereitstellt, der Unternehmen bei der Optimierung ihrer
    CI/CD-Pipelines helfen kann.
    Datum der Bewilligung2024
    OriginalspracheEnglisch (Amerika)
    Betreuer/-inMarc Kurz (Betreuer*in)

    Zitieren

    '