Sovelluksen kehitysputki avoimen lähdekoodin ohjelmistoilla : DevOpsin hyödyt sovelluskehityksessä
Lindell, Tiia (2025)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025053018627
https://urn.fi/URN:NBN:fi:amk-2025053018627
Tiivistelmä
Sovelluksia kehitetään tänä päivänä ketterästi ja nykyaikaisia teknologioita käyttäen. DevOps on kulttuurillinen ja toimintatapoihin liittyvä muutos, jonka perusperiaatteita ovat yhteistyön ja automaation lisääminen. DevOpsin menetelmiin kuuluvat muun muassa CI/CD eli jatkuva integraatio ja jatkuva julkaisu. CI/CD parantaa sovelluskoodin laatua, sillä se mahdollistaa koodin katselmoinnin ja testauksen nopeammassa syklissä ja pienemmissä osissa.
Tämän opinnäytetyön tavoitteena oli todentaa, että paikalliseen kehitykseen soveltuvilla teknologioilla on mahdollista rakentaa automaattinen kehitysputki, jossa on otettu huomioon sekä koodin laatuun että turvallisuuteen vaikuttavia asioita. Työssä käytettiin paikalliseen kehitykseen soveltuvia avoimen lähdekoodin ohjelmistoja kuten Tekton, Helm ja Kubernetes.
Työn tuloksena saatiin automatisoitu kehitysputki, jossa GitHubissa sijaitsevaan koodirepositorioon tehdyt muutokset käynnistivät Tekton-pohjaisen kehitysputken. Kehitysputki suoritti sovelluksen koonnin sekä ajoi automaattisesti testit, testikattavuuden laskennan ja haavoittuvuuksien tarkastuksen. Viimeisenä vaiheena putki rakensi konttikuvan ja tallensi sen ulkoiseen repositorioon.
Kehitysputken luominen onnistui paikallisesti ja avoimen lähdekoodin ratkaisuilla. Lisäksi konttikuva latautui onnistuneesti Quay.io-repositorioon. On siis mahdollista panostaa automaatioon ja laatuun myös paikallisessa kehityksessä. Testatut teknologiat ovat pilviyhteensopivia, joten niitä voidaan seuraavaksi kokeilla myös valmiissa pilviympäristöissä.
Tämän opinnäytetyön tavoitteena oli todentaa, että paikalliseen kehitykseen soveltuvilla teknologioilla on mahdollista rakentaa automaattinen kehitysputki, jossa on otettu huomioon sekä koodin laatuun että turvallisuuteen vaikuttavia asioita. Työssä käytettiin paikalliseen kehitykseen soveltuvia avoimen lähdekoodin ohjelmistoja kuten Tekton, Helm ja Kubernetes.
Työn tuloksena saatiin automatisoitu kehitysputki, jossa GitHubissa sijaitsevaan koodirepositorioon tehdyt muutokset käynnistivät Tekton-pohjaisen kehitysputken. Kehitysputki suoritti sovelluksen koonnin sekä ajoi automaattisesti testit, testikattavuuden laskennan ja haavoittuvuuksien tarkastuksen. Viimeisenä vaiheena putki rakensi konttikuvan ja tallensi sen ulkoiseen repositorioon.
Kehitysputken luominen onnistui paikallisesti ja avoimen lähdekoodin ratkaisuilla. Lisäksi konttikuva latautui onnistuneesti Quay.io-repositorioon. On siis mahdollista panostaa automaatioon ja laatuun myös paikallisessa kehityksessä. Testatut teknologiat ovat pilviyhteensopivia, joten niitä voidaan seuraavaksi kokeilla myös valmiissa pilviympäristöissä.