Jatkuvan toimituksen lisääminen ohjelmistoon
Hiltunen, Joonas (2022)
Hiltunen, Joonas
2022
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-06-16
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202205305327
https://urn.fi/URN:NBN:fi:tuni-202205305327
Tiivistelmä
Tässä kandidaatintutkielmassa tutkittiin jatkuvan toimituksen toteuttamista ohjelmistoon. Jatkuva toimitus on ohjelmistotuotannon menetelmä, jossa julkaisusyklejä pyritään lyhentämään käyttäen apuna automaattista testausta. Sen tavoitteena on tilanne, jossa uusin versio ohjelmistosta on aina valmiina julkaistavaksi. Jatkuvan toimituksen käyttöönotto tekee ohjelmiston julkaisuista joustavampia sekä vähentää virheitä, jotka johtuvat ohjelmiston tuotantoon asettamisesta.
Työssä määriteltiin kolme tunnetuinta ohjelmistojen toimittamiseen käytettyä menetelmää ja niiden toimintaperiaatteet sekä kuvattiin ohjelmistojen toimittamiseen liittyviä vaatimuksia. Jatkuva integraatio oli käsitellyistä tekniikoista yksinkertaisin ja se sisältää lähdekoodin koonnin sekä testauksen jokaisella versionhallintaan viennillä. Jatkuvassa toimittamisessa ohjelmisto valmistellaan jokaisella versionhallintaan viennillä integraation lisäksi myös valmiiksi toimittamista varten. Automaattisessa asentamisessa tuotantoon ohjelmisto myös toimitetaan automaattisesti jokaisen versionhallintaan viennin yhteydessä.
Jatkuvan toimituksen toteuttaminen aloitettiin käsittelemällä perusteita jatkuvan toimituksen valinnalle käsitellyssä projektissa. Palvelimen ylläpitotavan valintaa käsiteltiin sekä pilvipalveluiden että itse ylläpidetyn palvelin osalta. Jatkuva toimitus päätettiin toteuttaa käyttäen Azure Pipelines -palvelua, joka mahdollisti sekä paikallisen palvelimen että pilvipalvelun yhteiskäytön. Ohjelmiston testaamisen yhteyttä jatkuvaan toimitukseen käsiteltiin yksikkötestien, integrointitestien ja hyväksymistestien osalta. Lisäksi käsiteltiin ohjelmiston jakelua käyttäjille sekä päivittämistä ohjelmiston ollessa käytössä.
Jatkuvan toimittamisen toteuttamisesta saatuja hyötyjä sekä toteuttamiseen liittyviä haasteita käsiteltiin sekä kirjallisuuden näkökulmasta että käsitellyssä projektissa havaittujen haasteiden perusteella. Lisäksi käsiteltiin projektissa havaittuja haasteita ja niiden yhteyttä kirjallisuudessa mainittuihin haasteisiin. Kokonaisuutena jatkuvan toimittamisen toteuttamisen hyötyjen voidaan todeta ylittävän sen aiheuttamat haasteet lähes kaikissa tilanteissa.
Työssä määriteltiin kolme tunnetuinta ohjelmistojen toimittamiseen käytettyä menetelmää ja niiden toimintaperiaatteet sekä kuvattiin ohjelmistojen toimittamiseen liittyviä vaatimuksia. Jatkuva integraatio oli käsitellyistä tekniikoista yksinkertaisin ja se sisältää lähdekoodin koonnin sekä testauksen jokaisella versionhallintaan viennillä. Jatkuvassa toimittamisessa ohjelmisto valmistellaan jokaisella versionhallintaan viennillä integraation lisäksi myös valmiiksi toimittamista varten. Automaattisessa asentamisessa tuotantoon ohjelmisto myös toimitetaan automaattisesti jokaisen versionhallintaan viennin yhteydessä.
Jatkuvan toimituksen toteuttaminen aloitettiin käsittelemällä perusteita jatkuvan toimituksen valinnalle käsitellyssä projektissa. Palvelimen ylläpitotavan valintaa käsiteltiin sekä pilvipalveluiden että itse ylläpidetyn palvelin osalta. Jatkuva toimitus päätettiin toteuttaa käyttäen Azure Pipelines -palvelua, joka mahdollisti sekä paikallisen palvelimen että pilvipalvelun yhteiskäytön. Ohjelmiston testaamisen yhteyttä jatkuvaan toimitukseen käsiteltiin yksikkötestien, integrointitestien ja hyväksymistestien osalta. Lisäksi käsiteltiin ohjelmiston jakelua käyttäjille sekä päivittämistä ohjelmiston ollessa käytössä.
Jatkuvan toimittamisen toteuttamisesta saatuja hyötyjä sekä toteuttamiseen liittyviä haasteita käsiteltiin sekä kirjallisuuden näkökulmasta että käsitellyssä projektissa havaittujen haasteiden perusteella. Lisäksi käsiteltiin projektissa havaittuja haasteita ja niiden yhteyttä kirjallisuudessa mainittuihin haasteisiin. Kokonaisuutena jatkuvan toimittamisen toteuttamisen hyötyjen voidaan todeta ylittävän sen aiheuttamat haasteet lähes kaikissa tilanteissa.
Kokoelmat
- Kandidaatintutkielmat [8798]