Jatkuvan integraation käyttöönotto
Laitinen, Miku (2011)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2011052910135
https://urn.fi/URN:NBN:fi:amk-2011052910135
Tiivistelmä
Tämän insinöörityön tavoitteena oli suunnitella ja ottaa käyttöön jatkuva integraatioprosessi erästä Playground Finland Oy:n web-sovellusta varten. Sovellus on kehitetty tiedonkeruuta, hallintaa ja jakamista varten, ja se on tällä hetkellä muutamalla asiakkaalla testikäytössä. Sovellus on toteutettu Javalla suomalaista Vaadin-sovelluskehystä käyttäen.
Työn lähtökohtana olleen sovelluksen ja sen kehitysprosessin kompleksisuus alkoi kasvaa asiakasmäärän ja sovelluksen asiakaskohtaisten toiminnallisuuksien lisääntyessä. Lisääntyneen manuaalisen työn ja siitä johtuneen kasvaneen virhealttiuden vähentämiseksi päätettiin sovelluksen kehitys- ja kokoamisprosessia automatisoida ottamalla jatkuva integraatio käyttöön.
Insinöörityön ensimmäinen vaihe oli prosessiin ja sen käyttöönottoon tarvittavien työkalujen soveltuvuuden arviointi. Työhön parhaiten soveltuneet työkalut esiteltiin ja niiden valinnat perusteltiin. Sovellus ositettiin yhdeksi ydinosaksi ja useammaksi asiakaskohtaisiksi konfiguraatioksi. Konfiguraatioiden riippuvuudet kolmannen osapuolen kirjastoista ja muista hallinta-alkioista määriteltiin Apache Maven -projektinhallinta- ja kokoamistyökalun käyttämiin Project Object Model -tiedostoihin. Lopuksi jatkuvaan integraatioon ja kokoamisprosessiin tarvittavat työkalut asennettiin ja konfiguroitiin.
Insinöörityön tuloksena syntynyt prosessi osoittautui varsin hyödylliseksi, jonka ansiosta manuaalisen työn määrä väheni. Sovelluksen ydinosan ja asiakaskohtaisten konfiguraatioiden mahdolliset virheet voidaan löytää aikaisemmassa vaiheessa, ja niiden terveydentilaa voidaan seurata lähes reaaliajassa.
Jatkuvaan integraatioon siirtyminen ei ainoastaan tarkoittanut muutaman uuden työkalun käyttöönottoa, vaan se myös muutti kehitysprosessia ja työskentelytapaa kokonaisuudessaan. Jatkuva integraatio on erittäin tärkeä osa nykyaikaisia ketteriä ohjelmistokehitysmenetelmiä, eikä sen käyttöönotto useimmissa tapauksissa vaatine niin paljon aikaa, etteikö se maksaisi itseään kohtuullisessa ajassa takaisin.
Työn lähtökohtana olleen sovelluksen ja sen kehitysprosessin kompleksisuus alkoi kasvaa asiakasmäärän ja sovelluksen asiakaskohtaisten toiminnallisuuksien lisääntyessä. Lisääntyneen manuaalisen työn ja siitä johtuneen kasvaneen virhealttiuden vähentämiseksi päätettiin sovelluksen kehitys- ja kokoamisprosessia automatisoida ottamalla jatkuva integraatio käyttöön.
Insinöörityön ensimmäinen vaihe oli prosessiin ja sen käyttöönottoon tarvittavien työkalujen soveltuvuuden arviointi. Työhön parhaiten soveltuneet työkalut esiteltiin ja niiden valinnat perusteltiin. Sovellus ositettiin yhdeksi ydinosaksi ja useammaksi asiakaskohtaisiksi konfiguraatioksi. Konfiguraatioiden riippuvuudet kolmannen osapuolen kirjastoista ja muista hallinta-alkioista määriteltiin Apache Maven -projektinhallinta- ja kokoamistyökalun käyttämiin Project Object Model -tiedostoihin. Lopuksi jatkuvaan integraatioon ja kokoamisprosessiin tarvittavat työkalut asennettiin ja konfiguroitiin.
Insinöörityön tuloksena syntynyt prosessi osoittautui varsin hyödylliseksi, jonka ansiosta manuaalisen työn määrä väheni. Sovelluksen ydinosan ja asiakaskohtaisten konfiguraatioiden mahdolliset virheet voidaan löytää aikaisemmassa vaiheessa, ja niiden terveydentilaa voidaan seurata lähes reaaliajassa.
Jatkuvaan integraatioon siirtyminen ei ainoastaan tarkoittanut muutaman uuden työkalun käyttöönottoa, vaan se myös muutti kehitysprosessia ja työskentelytapaa kokonaisuudessaan. Jatkuva integraatio on erittäin tärkeä osa nykyaikaisia ketteriä ohjelmistokehitysmenetelmiä, eikä sen käyttöönotto useimmissa tapauksissa vaatine niin paljon aikaa, etteikö se maksaisi itseään kohtuullisessa ajassa takaisin.