magistrsko delo
Jakob Maležič (Author), Nejc Ilc (Mentor), Tadej Justin (Co-mentor)

Abstract

V magistrski nalogi predstavimo proces neprekinjene integracije in dostave, ki predstavlja pomemben del razvoja poslovno kritičnih aplikacij. V svetu obstaja veliko aplikacij in programov, ki so namenjeni prav tej nalogi. Vendar vsak izmed njih ni primeren za uporabo pri razvoju poslovno kritičnih aplikaciji. V tej nalogi smo najprej izpostavili tehnologije, ki se splošno uporabljajo v okviru procesa CI/CD. Le-te smo preverili in izbrali primerne za vpeljavo v projekte poslovno kritičnih aplikacij. Dodatno smo izpostavili njihove prednosti in pomanjkljivosti pri uporabi. Na podlagi ugotovitev smo razvili komponento, ki omogoča enostavno povezovanje vseh izbranih tehnologij in skuša odpraviti izpostavljene pomanjkljivosti. Razvili smo komponento za vzpostavitev CI/CD z orodjem GitLab CI/CD, imenovano Medius CD. S komponento smo poenotili cevovode CI/CD, zmanjšali podvojenost konfiguracije in kode ter olajšali vzdrževanje. Razvita komponenta je tudi zelo prilagodljiva različnim zahtevam naročnikov in omogoča enostavno vzpostavitev cevovoda CI/CD tako v razvojnem okolju kot tudi v okolju naročnika. V procesu razvoja smo odkrili potrebo po vtičniku za integrirano okolje IntelliJ, ki bi preverjal konfiguracijske datoteke orodja GitLab CI/CD. Zato smo razvili odprtokodni vtičnik Gitlab Template Lint, ki v integriranem okolju prikazuje napake in združeno vsebino konfiguracijskih datotek. Razvit vtičnik smo objavili na tržnico vtičnikov JetBrains in na ta način omogočili njegovo uporabo velikemu številu razvijalcev DevOps po vsem svetu. V sklopu naloge smo koncepte in funkcionalnosti komponente ponazorili s pomočjo študij primerov iz resničnih projektov poslovno kritičnih aplikacij, ki uporabljajo različne programske jezike. S tem smo pokazali praktično uporabnost razvite rešitve ter njeno sposobnost prilagajanja različnim scenarijem in programskim jezikom v poslovnem okolju.

Keywords

neprekinjena integracija;neprekinjena dostava;poslovno kritične aplikacije;platforma GitLab;računalništvo in informatika;magisteriji;

Data

Language: Slovenian
Year of publishing:
Typology: 2.09 - Master's Thesis
Organization: UL FRI - Faculty of Computer and Information Science
Publisher: [J. Maležič]
UDC: 004(043.2)
COBISS: 171567875 Link will open in a new window
Views: 79
Downloads: 48
Average score: 0 (0 votes)
Metadata: JSON JSON-RDF JSON-LD TURTLE N-TRIPLES XML RDFA MICRODATA DC-XML DC-RDF RDF

Other data

Secondary language: English
Secondary title: Continuous integration and delivery for business critical applications
Secondary abstract: In this master's thesis we present the process of continuous integration and delivery (CI/CD), which is a crucial part of developing business-critical applications. There are many applications and tools worldwide designed for this purpose. However, not all of them are suitable for developing business-critical applications. We first highlighted the technologies commonly used within the CI/CD process. We examined them and selected those suitable for implementation in business-critical application projects. Additionally, we emphasized their advantages and drawbacks in their usage. Based on these findings, we developed a component that facilitates the seamless integration of the selected technologies and aims to address the identified shortcomings. We developed a component for establishing CI/CD using the GitLab CI/CD tool, named Medius CD. With this component, we standardized CI/CD pipelines, reduced configuration and code duplication, and simplified maintenance. The developed component is highly adaptable to various customer requirements and enables easy setup of CI/CD pipelines in both the development environment and the customer's environment. During development, we identified the need for a plugin for the integrated development environment IntelliJ IDEA that verifies the configuration files of the GitLab CI/CD tool. Therefore, we developed an open-source plugin called Gitlab Template Lint, which displays errors and consolidated content of configuration files in the integrated environment. We published the plugin on the JetBrains plugin marketplace, thus enabling its use to a large number of DevOps developers worldwide. As part of the assignment, we illustrated the concepts and functionalities of the component through case studies from real projects of business-critical applications that use different programming languages. This demonstrated the practical usability of the developed solution and its ability to adapt to various scenarios and programming languages in the business environment.
Secondary keywords: continuous integration;continuous deployment;business critical applications;GitLab platform;computer science;computer and information science;master's degree;Računalništvo;Univerzitetna in visokošolska dela;
Type (COBISS): Master's thesis/paper
Study programme: 1000471
Embargo end date (OpenAIRE): 1970-01-01
Thesis comment: Univ. v Ljubljani, Fak. za računalništvo in informatiko
Pages: 94 str.
ID: 20386154