Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomi
  • Svenska
  • English
  • Kirjaudu
Hakuohjeet
JavaScript is disabled for your browser. Some features of this site may not work without it.
Näytä viite 
  •   Ammattikorkeakoulut
  • Kajaanin ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite
  •   Ammattikorkeakoulut
  • Kajaanin ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite

DevOps-pipelinet ohjelmointialalla

Halonen, Vesa (2025)

 
Avaa tiedosto
Halonen_Vesa.pdf (905.9Kt)
Lataukset: 


Halonen, Vesa
2025
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025120432375
Tiivistelmä
DevOps-käytänteitä hyödynnetään ohjelmointituotteiden kehittämisen ja julkaisemisen nopeuttamiseksi sekä niiden laadun varmistamiseksi. Kyseisten käytänteiden avuilla vähennetään organisaation eri osien tavoitteiden välisiä ristiriitoja, jotta kyseisien osien välille voidaan luoda enemmän yhtäläisyyksiä, minkä myötä ne voivat toimia paremmin yhdessä. Tässä työssä perehdyttiin DevOpsin teknisiin käytänteisiin, minkä avulla automatisoidaan prosesseja kehityksessä virheiden havaitsemiseksi ja kehitysprosessin nopeuttamiseksi. Useamman kerran on tullut vastaan ongelmatilanteita, joita olisi voitu välttää tai minimoida, jos käytössä olisi ollut automatisoituja prosesseja ohjelmiston testaamiseksi. Tavoitteena oli oppia DevOps-pipelinien toteuttamisesta ja toiminnasta tutkimalla eri ohjelmointiyrityksien teknisiä käytänteitä, jotta vastaavien ongelmatilanteiden vaikutuksia voitaisiin minimoida.

Työ aloitettiin tarpeesta oppia CI/CD-pipelinien toiminnasta ja toteutuksesta, jotta niitä voitaisiin käyttää kehitettävän ohjelmiston testaamiseksi teknisen velan tai muiden ongelmatilanteiden vaikutuksien minimoimiseksi. Työssä tutkittiin DevOpsin teknisiä tavoitteita, niiden toteuttamiseen tarvittavien CI/CD-pipelinien perusteita ja ohjelmointiyrityksiltä löytyviä käytänteitä, joita käyttämällä nopeutetaan tai varmennetaan ohjelmistonkehityksen vaiheita. Lähteinä käytettiin julkisesti saatavilla olevia lähteitä, joissa käsitellään työhön liittyvää aihetta tarkemmin. Ohjelmointiyrityksien käytänteitä tutkittaessa lähteitä oli rajattu tiukemmin vain niihin lähteisiin, jotka löytyvät yrityksen omilta sivuilta tai selvästi mainitsevat, minkä yrityksen käytänteistä puhutaan, jotta on varmuutta, että käsiteltyjä käytänteitä on oikeasti käytetty yrityksessä. Näiden rajauksien tarkoituksena oli varmistaa, että työssä käsitellyt lähteet ovat helposti saatavilla työn sisällön tarkastamiseksi.

Työssä opittiin CI/CD-pipelinen toteuttamisesta käytännössä luomalla pipeline, joka pystyi automaattisesti buildaamaan, testaamaan ja ottamaan ohjelman käyttöön palvelimella. Projektiosiossa ensin luotiin ’alustava’ CI/CD-pipeline. Alustavaa pipelinea laajennettiin ja parannettiin tutkimalla sen puutteita/ongelmia. Lopullinen CI/CD-pipeline oli helpommin skaalattavissa sekä sisälsi enemmän automatisointeja kehitysprosessin helpottamiseksi. Tarkoituksena olisi ollut hyödyntää yritysesimerkeistä opittuja käytänteitä projektiosiossa toteutetussa CI/CD-pipelinessa. Tässä ei kuitenkaan onnistuttu ajan/osaamisen/resurssien puutteiden tai testattavan ohjelmiston pienuuden vuoksi. Yritysesimerkkien käytänteiden toteuttaminen olisi voinut onnistua, jos projektiosiossa olisi kehitetty olemassaolevaa CI/CD-pipelinea, sen sijaan, että rakennettaisiin CI/CD-pipeline alusta asti. Työn lähtökohdat olivat siis hiukan väärät tämän saavuttamiseksi, mutta yritysesimerkeistä opitut käytänteet antavat suuntaa projektin CI/CD-pipelinen jatkokehitykselle.

Projektiosiossa toteutettu CI/CD-pipeline oli merkittävästi testattavaa ohjelmaa suurempi. Ohjelmalle olisi riittänyt pienempi pipeline sen testaamiseen ja käyttöönottamiseen, mutta ohjelma hyötyy laajemman pipelinen lisäominaisuuksista. Mikäli tarkoituksena olisi ollut keskittyä ohjelmistonkehitykseen, niin CI/CD-pipelinen lisäominaisuuksien toteuttamiseen käytetty aika olisi voinut osoittautua haitalliseksi ohjelmistonkehitykselle, jos kyseiset lisäominaisuudet eivät olisi parantaneet kehityksen tuloksia. CI/CD-pipelinet osoittautuivat hyödyllisiksi ohjelmistonkehitykselle. Lisäksi CI/CD-pipelinet voivat olla testattavaa ohjelmaa laajempia, kunhan niiden ominaisuuksien toteuttamiseen ja käyttämiseen vaaditut resurssit auttavat ohjelmistonkehitysprosessia.
Kokoelmat
  • Opinnäytetyöt (Avoin kokoelma)
Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste
 

Selaa kokoelmaa

NimekkeetTekijätJulkaisuajatKoulutusalatAsiasanatUusimmatKokoelmat

Henkilökunnalle

Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste