Kehitysympäristön virtualisointi
Raitasola, Henrik (2016)
Raitasola, Henrik
Metropolia Ammattikorkeakoulu
2016
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2016101115082
https://urn.fi/URN:NBN:fi:amk-2016101115082
Tiivistelmä
Tämän insinöörityön aiheena oli ratkaista yleisimpiä kehittäjien ongelmia, jotka liittyvät kehitysympäristöön. Usein ongelmat johtuvat kehittäjien tietokoneiden erilaisuuksista, kuten käyttöjärjestelmästä ja siihen asennettujen projektikohtaisten riippuvuuksien eriä- vistä versioista. Yleisin lausahdus on ”Toimii minun koneellani”, kun mystisestä syystä samalla tavalla asennettu kehitysympäristö toimii toisella kehittäjällä ja toisella ei. Ongelmia halutaan ratkaista virtualisoimalla kehitysympäristö.
Kehitysympäristö virtualisoitiin ensin Vagrantin avulla. Vagrant loi virtuaalikoneita, johon asennettiin shell-skriptin avulla halutut projektin riippuvuudet. Sen jälkeen tehtiin monimutkaisempi esimerkki Ansiblen avulla, joka toimii hyvin yhteistyössä Vagrantin kanssa. Ansiblella tehtiin playbookeja, joilla pystyy selkeämmin jakamaan riippuvuuksien asennuksen omiin rooleihin. Tämä on selkeämpi lähestymistapa pelkkiin shell-skripteihin verrattuna.
Lopputuloksena esiteltiin muutamia eri kehitysympäristöjen asennuksia. Nämä virtuaaliset kehitysympäristöt minimoivat ongelmia, jotka esiintyvät yleisimmin, kun kehittäjillä ei ole yhteistä virtuaalikehitysympäristöä.
Kehitysympäristö virtualisoitiin ensin Vagrantin avulla. Vagrant loi virtuaalikoneita, johon asennettiin shell-skriptin avulla halutut projektin riippuvuudet. Sen jälkeen tehtiin monimutkaisempi esimerkki Ansiblen avulla, joka toimii hyvin yhteistyössä Vagrantin kanssa. Ansiblella tehtiin playbookeja, joilla pystyy selkeämmin jakamaan riippuvuuksien asennuksen omiin rooleihin. Tämä on selkeämpi lähestymistapa pelkkiin shell-skripteihin verrattuna.
Lopputuloksena esiteltiin muutamia eri kehitysympäristöjen asennuksia. Nämä virtuaaliset kehitysympäristöt minimoivat ongelmia, jotka esiintyvät yleisimmin, kun kehittäjillä ei ole yhteistä virtuaalikehitysympäristöä.