Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Author "Huovinen, Ilmari"

Sort by: Order: Results:

  • Huovinen, Ilmari (2019)
    Jatkuva kehitys on joukko ohjelmistokehitysmenetelmiä, jotka mahdollistavat julkaisujen tekemisen luotettavasti ja tiheään tahtiin. Jatkuva kehitys sisältää useita menetelmiä, mutta niistä kolme laajasti tunnettua ovat jatkuva integraatio, jatkuva toimitus ja jatkuva julkaisu. Jatkuvassa integraatiossa muutokset integroidaan jatkuvasti yhteiseen koodikantaan, jatkuvassa toimittamisessa muutokset toimitetaan jatkuvasti tuotantoa muistuttavaan ympäristöön ja jatkuvassa julkaisussa muutokset julkaistaan jatkuvasti. GameRefinery on pelialan yritys, joka kehittää mobiilipelien analyysi- ja markkinadataa tarjoavaa SaaS-palvelua. Palvelun kasvaessa on huomattu haasteita sen kehittämisessä ja ylläpidossa. Tämän tutkielman tarkoituksena selvittää mitä kehitykseen ja julkaisuun liittyviä ongelmia GameRefinery SaaS:ssa on koettu, ja sunnitella jatkuvan kehityksen menetelmiä käyttävä prosessi korjaamaan koettuja ongelmia. GameRefinery SaaSin kehitykseen ja julkaisuun liittyviä ongelmat etsittiin tutkimalla GameRefinery SaaSin aiempia versioita ja selvittämällä mitkä niiden ratkaisut haittasivat ohjelmiston kehitystä ja julkaisua ja mitkä tukivat niitä. Tämän jälkeen verrattiin eroja GameRefinery SaaSin versioiden kehitys- ja julkaisuprosesseissa. Lopuksi eriteltiin löydetyt kehitykseen ja julkaisuun liittyvät ongelmat. Ongelmia löydettiin versiohallintakäytännöistä, toimitus- ja julkaisuprosessista ja virheistä palautumisessa. Lisäksi huomattiin, että arkkitehtuurinen ratkaisu siirtää eräajot pois mikropalveluista omiksi projekteikseen aiheutti ongelmia julkaisujen tekemisessä. Löydettyjä ongelmia ratkaistiin suunnittelemalla jatkuvan kehityksen prosessi, joka perustui Jenkins-automaatiopalvelimen käyttöönottamiseen ja jatkuvan kehityksen menetelmiä hyödyntävän automaatioputken toteuttamiseen. Suunniteltu prosessi selvensi version- ja haaranhallinta käytäntöjä, korjaten ongelmia julkaisuversioiden kasaamisessa eri ominaisuuksista ja estämällä keskeneräisen koodin pääsemisen julkaisuhaaraan. Uudessa prosessissa myös automatisoitiin toimitusprosessi niin, että tietomallin muokkaus otettiin osaksi automaatioputkea poistaen aikaisemmin manuaalisesti suoritetun vaiheen toimituksessa. Näiden lisäksii esitettiin mahdolliset ongelmatilanteet virheestä palautumisessa ja tapoja korjata niitä. Uusi prosessi ei kuitenkaan onnistunut korjaamaan eräajojen siirtämisestä aiheutuneita ongelmia, vaikkakin eräajojen mukaan ottaminen automaatioputkeen lievensi niitä.