| Anotācija |
Neskatoties uz CI/CD konveijeru atzīto nozīmību mūsdienu programmatūras piegādē, literatūrā trūkst sistemātiskas, empīriski pamatotas novērtēšanas par to, cik efektīvi pašatjaunošanās mehānismi novērš visu veidu CI/CD kļūdas atbilstoši konsekventiem, ieinteresēto pušu vajadzībām atbilstošiem kritērijiem. Šajā bakalaura darbā tiek noteikts, kādā mērā četrpadsmit CI/CD kļūdu pārvaldības mehānismi, kas ieviesti GitHub Actions, GitLab CI un Jenkins konveijeros, spēj prognozēt un novērst četras injicētu kļūdu kategorijas – kompilācijas, testu, konfigurācijas un infrastruktūras kļūdas – gan Java Spring Boot, gan Python Flask lietojumprogrammās. Vienotais novērtēšanas ietvars, kas izstrādāts, izmantojot Mērķa Jautājumu Metrikas metodiku, apvieno praktiķiem nozīmīgus DORA rādītājus (atjaunošanās ātrumu, MTTR, neatgūstamo kļūmju biežumu) ar AIOps klasifikācijas metrikām (PDR, precizitāti, pārklājumu, F1 rādītāju, FPR, MTTD). No 126 kopējiem konveijera izpildījumiem pašatjaunošanās tika sasniegta 8 izpildījumos – visos gadījumos tā bija neuzticamu testu ievadīšana GitHub Actions platformā – savukārt visas deterministiskās kļūdas radīja atjaunošanās ātrumu 0,00 visās platformās. M13 hibrīdais uz noteikumiem un mašīnmācīšanos balstītais diagnostikas klasifikators sasniedza problēmu atklāšanas ātrumu 1,000 un kopējo klasifikācijas precizitāti 86.4%, ar makro F1 rādītāju 0,698 piecos kļūdu klases. Klasifikācijas precizitāte ievērojami atšķīrās pa klasēm: konfigurācijai tika sasniegts F1 1,000 ar deterministisku posma pārrakstīšanas kārtulu, infrastruktūrai F1 0,909, kompilācijai F1 0,833, testu kļūmēm F1 0,750, un neuzticamiem testiem F1 0,000 – pēdējais atspoguļo viena izpildījuma simptomu klasifikācijas pamatierobežojumus konteinerizētās platformās. Ierobežoti starpvides eksperimenti liecina par līdzīgiem atjaunošanās rezultātiem starp Java Spring Boot un Python Flask pārbaudītajos GitHub Actions gadījumos, savukārt klasifikācijas uzvedība joprojām daļēji ir atkarīga no ietvara specifiskajiem kļūdu signāliem.
Bakalaura darbs sastāv no 82 lappusēm; tas satur 1 attēlus, 21 tabulas, 4 pielikumus, 28 literatūras avotus. |