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

  • Matthias Mario Girkinger

    Student thesis: Master's Thesis

    Abstract

    This thesis investigates the enhancement of software development efficiency through the
    templating and evaluation of Continuous Integration/Continuous Deployment (CI/CD)
    pipelines. This study introduces a novel approach that benchmarks existing CI/CD
    practices and explores the potential efficiencies gained through pipeline templating.
    The research adopts a new methodology to assess various CI/CD technologies, including Jenkins, GitLab CI, and GitHub Actions, in a controlled environment simulating real-world software development scenarios. This is achieved by introducing three
    microservice projects, which share similarities in certain pipeline steps, but differ in others. The study evaluates these technologies across multiple dimensions such as implementation complexity, configuration complexity and maximum file complexity, offering
    a comparative analysis of templated versus standalone CI/CD approaches.
    The study develops a set of metrics to systematically measure and compare the effectiveness of different CI/CD implementations, aiming to provide a deeper understanding
    of CI/CD dynamics in software project management. Findings suggest that templated
    pipelines enhance operational efficiency, but also that there are still many more points
    to consider within not only the implemented metrics, but the evaluation approach as
    well.
    This thesis contributes to the field of software engineering by providing a detailed
    evaluation framework that can guide organizations in optimizing their CI/CD processes.
    Date of Award2024
    Original languageEnglish (American)
    SupervisorMarc Kurz (Supervisor)

    Cite this

    '