Improving software development process based on data from CI/CD pipeline

Thesis title: Zlepšování vývojového procesu na základě dat generovaných CI/CD pipeline
Author: Gróf, Ondřej
Thesis type: Diplomová práce
Supervisor: Falada, Vladimír
Opponents: Doležel, Michal
Thesis language: Česky
Abstract:
Tato diplomová práce se zaměřuje na využití dat generovaných procesy v CI/CD pipeline pro nastavení pravidel slučování větví kódu ve verzovacích systémech a v dalších částech vývojového procesu. První část práce je věnována teorii CI/CD systémů a popisu vývojového procesu. V druhé části diplomové práce je provedena analýza CI/CD pipeline, která je používaná v rámci oddělení Consumer Windows Antivirus ve společnosti Avast Software s.r.o. Na základě poznatků z teorie a této analýzy je navržena struktura datového úložiště a zároveň je vytvořen nástroj v jazyce Python, pro automatizované plnění tohoto úložiště daty. V rámci třetí části této práce je proveden návrh metod a pravidel pro snížení chybovosti procesů zavedených v CI/CD pipeline. Závěrečná část práce se zabývá vyhodnocením výsledků zavedení a budoucím využitím ukládaných dat.
Keywords: CI; CD; Průběžné testování; Vývojový proces; Kvalita softwaru; Pipeline; Data; Python
Thesis title: Improving software development process based on data from CI/CD pipeline
Author: Gróf, Ondřej
Thesis type: Diploma thesis
Supervisor: Falada, Vladimír
Opponents: Doležel, Michal
Thesis language: Česky
Abstract:
This diploma thesis focuses on how to use data generated by the CI/CD pipeline for setting up the rules during merging code branches in source code management software and other parts of the development process. The first part is devoted to the theory of CI/CD systems and to the description of the development process. In the second part of the thesis, analysis of the CI/CD pipeline, which is being used in the Consumer Windows Antivirus department at Avast Software company, was performed. Based on the analysis, data storage was designed, and a tool for automated storing the data was built. In the third part, the author designed the rules and methods for reducing the failure rate of processes in the CI/CD pipeline. These rules were implemented and evaluated. Gathered data offers more than currently implemented methods. It provides new possibilities on how to implement machine learning, artificial intelligence techniques to improve software quality. The author discusses these options in the final part of the thesis.
Keywords: Python; Development process; Software quality; Data; CD; Continuous testing; Pipeline; CI

Information about study

Study programme: Aplikovaná informatika/Informační systémy a technologie
Type of study programme: Magisterský studijní program
Assigned degree: Ing.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 4. 10. 2019
Date of submission: 4. 5. 2020
Date of defense: 4. 6. 2020
Identifier in the InSIS system: https://insis.vse.cz/zp/71090/podrobnosti

Files for download

    Last update: