Automation and Improvement of Software Development with GitLab CI Pipelines
Kumpulainen, Ville (2023)
Kumpulainen, Ville
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023060220672
https://urn.fi/URN:NBN:fi:amk-2023060220672
Tiivistelmä
Tässä väitöskirjassa esitämme syvällisen tutkimuksen ja optimoinnin ohjelmistokehityksen putkilinjasta käyttäen GitLab CI:tä Software Z:lle. Pääasiallisena tavoitteena oli parantaa putkilinjaa sisällyttämällä automaattinen kooditestaus, joka käsittelee olennaisia tietoturvavaatimuksia ja tehostaa julkaisuprosessia. Teimme vertailevan analyysin erilaisista putkilinjojen hallintaratkaisuista, minkä perusteella GitLab CI:n huomattiin olevan sopivimpana vaihtoehtona.
Tutkimus sisälsi staattisten koodianalysaattoreiden, kuten SonarQuben ja Coverityn, integroinnin tuotantoputkilinjaan. Cypress otettiin käyttöön pääasiallisena end-to-end (E2E) testausratkaisuna vertailtaessa sitä muihin testauskehyksiin. Putkilinjaa optimoitiin automatisoimalla julkaisumenettelyjä, jotta kehitys toimisi ilman ihmisten väliin tuloa.
Paranneltu putkilinja varmistaa, että uudet ominaisuudet läpikäyvät perusteellisen testauksen ja tietoturvaskannauksen, jolloin havaituista haavoittuvuuksista luodaan raportit. Tutkimustulokset tarjoavat käytäntöjä putkilinjojen hallinnassa, käsitellen modulaarisuutta, turvallisuutta ja jatkuvan kehityksen parantamista. Tulevaisuuden työ keskittyy dynaamisten ja staattisten sovellusturvatestaustyökalujen, kuten Invictin ja Semgrepin, integrointiin sekä tekoälyn ja koneoppimisen potentiaalin tutkimiseen CI/CD:ssä, palvelinrakenteiden arkkitehtuurissa ja DevOpsin ja GitOpsin roolissa ohjelmistokehityksessä. Tämä tutkimus antaa panoksensa alalle tarjoamalla optimoidun putkilinjamallin, joka käsittelee tehokkaasti tietoturvakysymyksiä ja tehostaa ohjelmistokehitysprosessia.
Tutkimus sisälsi staattisten koodianalysaattoreiden, kuten SonarQuben ja Coverityn, integroinnin tuotantoputkilinjaan. Cypress otettiin käyttöön pääasiallisena end-to-end (E2E) testausratkaisuna vertailtaessa sitä muihin testauskehyksiin. Putkilinjaa optimoitiin automatisoimalla julkaisumenettelyjä, jotta kehitys toimisi ilman ihmisten väliin tuloa.
Paranneltu putkilinja varmistaa, että uudet ominaisuudet läpikäyvät perusteellisen testauksen ja tietoturvaskannauksen, jolloin havaituista haavoittuvuuksista luodaan raportit. Tutkimustulokset tarjoavat käytäntöjä putkilinjojen hallinnassa, käsitellen modulaarisuutta, turvallisuutta ja jatkuvan kehityksen parantamista. Tulevaisuuden työ keskittyy dynaamisten ja staattisten sovellusturvatestaustyökalujen, kuten Invictin ja Semgrepin, integrointiin sekä tekoälyn ja koneoppimisen potentiaalin tutkimiseen CI/CD:ssä, palvelinrakenteiden arkkitehtuurissa ja DevOpsin ja GitOpsin roolissa ohjelmistokehityksessä. Tämä tutkimus antaa panoksensa alalle tarjoamalla optimoidun putkilinjamallin, joka käsittelee tehokkaasti tietoturvakysymyksiä ja tehostaa ohjelmistokehitysprosessia.