Novi-ohjelmiston automaattinen julkaisu CI/CD-putken avulla
Kujanpää, Hannu (2022)
Kujanpää, Hannu
2022
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-2022111823094
https://urn.fi/URN:NBN:fi:amk-2022111823094
Tiivistelmä
Automatisointi on iso osa nykyaikaista ohjelmistokehityksen prosessia ja sillä voidaan vähentää kehittäjien käyttämää aikaa automatisoitavissa oleviin tehtäviin. Usein samalla kaavalla toistuvat asiat, kuten ohjelmiston testaus ja julkaisu, voidaan nykyään tehdä automaattisesti. Automatisoinnista puhuttaessa termit jatkuva integraatio, jatkuva julkaisu ja DevOps ovat esillä useasti ja ne ovat iso osa nykyaikaista ohjelmistokehitystä.
Opinnäytetyön toimeksiantaja oli Pinja Operational Excellence Oy, joka on osa Pinja Group Oy:tä. Työn tavoitteena oli parantaa Novi-ohjelmiston kehitysprosessia tekemällä automaattinen julkaisuputki, jonka avulla voitaisiin esimerkiksi testata uusia ominaisuuksia uuden version kehityksen aiemmassa vaiheessa.
Työ toteutettiin tuotteen kehittämistyönä. Tietoperustassa tarkasteltiin mitä DevOps, jatkuva integraatio, jatkuva julkaisu ja julkaisuputki ovat teoriassa. Julkaisuputken toteutuksessa toteutustavoiksi valittiin GitHub Actions ja Octopus Deploy, joiden avulla voitiin automatisoida uuden version julkaisu ja ohjelmiston asennus palvelimelle. Työssä keskityttiin automatisoimaan julkaisuprosessia Novi desktop -verkkosovellukselle, mikä on yksi kolmesta Novin osasta.
Työn tuloksena saatiin toimiva julkaisuputki Novi desktopille. Toteutettu julkaisuputki käynnistyy, kun kehittäjä lataa koodimuutokset GitHubissa olevaan kehityshaaraan. Ohjelmisto koostetaan GitHub Actionsin avulla ja se ladataan Octopus Deployn rekisteriin. Octopus Deployn avulla testaajat voivat asentaa viimeisimmän kehityksessä olevan version testipalvelimelle. Tuloksena saatiin myös tietoa DevOpsista, CI/CD:stä ja julkaisuputkista sekä saatiin lisättyä prosessin läpinäkyvyyttä uusilla kehitystikettien tiloilla.
Opinnäytetyön tavoitteet saavutettiin ja syntyneellä julkaisuputkella voitiin testata ohjelmiston uusimpia ominaisuuksia heti kun kehittäjä lataa koodimuutoksensa versionhallintaan. Julkaisuputki koettiin hyvänä lisänä Novin kehitysprosessiin ja julkaisuputkelle kirjattiin jo joitain jatkokehitysideoita.
Opinnäytetyön toimeksiantaja oli Pinja Operational Excellence Oy, joka on osa Pinja Group Oy:tä. Työn tavoitteena oli parantaa Novi-ohjelmiston kehitysprosessia tekemällä automaattinen julkaisuputki, jonka avulla voitaisiin esimerkiksi testata uusia ominaisuuksia uuden version kehityksen aiemmassa vaiheessa.
Työ toteutettiin tuotteen kehittämistyönä. Tietoperustassa tarkasteltiin mitä DevOps, jatkuva integraatio, jatkuva julkaisu ja julkaisuputki ovat teoriassa. Julkaisuputken toteutuksessa toteutustavoiksi valittiin GitHub Actions ja Octopus Deploy, joiden avulla voitiin automatisoida uuden version julkaisu ja ohjelmiston asennus palvelimelle. Työssä keskityttiin automatisoimaan julkaisuprosessia Novi desktop -verkkosovellukselle, mikä on yksi kolmesta Novin osasta.
Työn tuloksena saatiin toimiva julkaisuputki Novi desktopille. Toteutettu julkaisuputki käynnistyy, kun kehittäjä lataa koodimuutokset GitHubissa olevaan kehityshaaraan. Ohjelmisto koostetaan GitHub Actionsin avulla ja se ladataan Octopus Deployn rekisteriin. Octopus Deployn avulla testaajat voivat asentaa viimeisimmän kehityksessä olevan version testipalvelimelle. Tuloksena saatiin myös tietoa DevOpsista, CI/CD:stä ja julkaisuputkista sekä saatiin lisättyä prosessin läpinäkyvyyttä uusilla kehitystikettien tiloilla.
Opinnäytetyön tavoitteet saavutettiin ja syntyneellä julkaisuputkella voitiin testata ohjelmiston uusimpia ominaisuuksia heti kun kehittäjä lataa koodimuutoksensa versionhallintaan. Julkaisuputki koettiin hyvänä lisänä Novin kehitysprosessiin ja julkaisuputkelle kirjattiin jo joitain jatkokehitysideoita.