CI/CD-työkalut web-ohjelmiston jakelussa
Salojärvi, Joonas (2021)
Salojärvi, Joonas
2021
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-2021052010109
https://urn.fi/URN:NBN:fi:amk-2021052010109
Tiivistelmä
Ohjelmiston elinkaari käsittää monia eri vaiheita. Se kulkee ideaalitilanteessa projektinhallinnasta ja koodin tuottamisesta laadunvarmistuksen kautta aina asiakkaiden käsiin. Näitä eri työvaiheita on aikaisemmin hoitanut niihin erikoistuneet henkilöt, ja niihin käytetyt työtunnit ovat tulleet kalliiksi. Tähän ongelmaan DevOps-filosofia ja menetelmät pyrkivät tuomaan ratkaisun yhdessä automaation kanssa.
Opinnäytetyön toimeksiantaja Oscar Software Oy oli automatisoinut web-käyttöliittymäpohjaisen toiminnanohjausjärjestelmän jakelun Jenkins-työkalulla. Tavoitteena oli selvittää, voidaanko tuotekehitysprosessia parantaa siirtymällä toiseen automaatiotyökaluun. Työkalujen vertailussa pääpaino oli jakelun automatisoinnissa. Tarkoituksena oli asentaa ja ottaa käyttöön eri automaatiotyökaluja sekä toteuttaa näille työjonot toiminnanohjausjärjestelmän käyttöliittymän ja taustapalvelimen jakeluun. Vertailtaviksi työkaluiksi valittiin Jenkinsin ohella GitLab sekä Bamboo.
Tuloksena todettiin, että jokainen vertailtu työkalu suoriutui annetusta tehtävästä, eikä huomattavia eroavaisuuksia jakelun kannalta huomattu. Tuloksen pohjalta arvioitiin, että työkalun vaihtamisesta ei juurikaan saada hyötyä itse jakeluprosessiin. Vertailtavista työkaluista erityisesti GitLab tarjosi paljon muuta automaatiopalvelun lisäksi, ja jatkokehitysehdotuksena on vertailla eri työkaluja tarkemmin myös muilta näkökannoilta pelkän jakelun sijaan ottaen huomioon koko ohjelmiston elinkaaren.
Opinnäytetyön toimeksiantaja Oscar Software Oy oli automatisoinut web-käyttöliittymäpohjaisen toiminnanohjausjärjestelmän jakelun Jenkins-työkalulla. Tavoitteena oli selvittää, voidaanko tuotekehitysprosessia parantaa siirtymällä toiseen automaatiotyökaluun. Työkalujen vertailussa pääpaino oli jakelun automatisoinnissa. Tarkoituksena oli asentaa ja ottaa käyttöön eri automaatiotyökaluja sekä toteuttaa näille työjonot toiminnanohjausjärjestelmän käyttöliittymän ja taustapalvelimen jakeluun. Vertailtaviksi työkaluiksi valittiin Jenkinsin ohella GitLab sekä Bamboo.
Tuloksena todettiin, että jokainen vertailtu työkalu suoriutui annetusta tehtävästä, eikä huomattavia eroavaisuuksia jakelun kannalta huomattu. Tuloksen pohjalta arvioitiin, että työkalun vaihtamisesta ei juurikaan saada hyötyä itse jakeluprosessiin. Vertailtavista työkaluista erityisesti GitLab tarjosi paljon muuta automaatiopalvelun lisäksi, ja jatkokehitysehdotuksena on vertailla eri työkaluja tarkemmin myös muilta näkökannoilta pelkän jakelun sijaan ottaen huomioon koko ohjelmiston elinkaaren.