CI/CD-putken integroiminen React Native -sovellukseen
Mäenpää, Jukka (2024)
Mäenpää, Jukka
2024
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-2024051311133
https://urn.fi/URN:NBN:fi:amk-2024051311133
Tiivistelmä
Opinnäytetyön tavoitteena oli toteuttaa jatkuvan integroinnin ja jatkuvan toimittamisen -järjestelmä React Native -sovellukselle, jota yleisesti kutsutaan CI/CD-putkeksi. Sovellukseen oli tarkoitus ottaa käyttöön Googlen Firebase-palvelu, johon sovellus jaettaisiin tulevaisuudessa testaajia varten. CI/CD-putken tarkoituksena on siis lisätä React Native -sovellukseen tehdyt muutokset automaattisesti ja rakentaa sovelluksesta uusi versio sekä lopuksi lähettää uusi versio Firebase-palveluun. Firebasessa tapahtuu sovelluksen jakelu testaajille. Firebasen muilla työkaluilla saadaan myös analytiikkaa sovelluksesta. Erityisesti haluttiin hyödyntää Firebasen tarjoamaa Crashlytics-työkalua, joka antaa informaatiota siitä, mitä tapahtui, jos sovellus kaatuu. CI/CD-putken rakentaminen toteutettiin käyttämällä työn toimeksiantajalla jo käytössä olevaa Azure DevOps-palvelua ja sen sisältämää Pipelines-työkalua.
Opinnäytetyö aloitettiin tutustumalla DevOps-menetelmään ja sen sisältämiin käsitteisiin. Niistä tärkeimpiä ovat jatkuva integraatio ja jatkuva toimittaminen. Tämän jälkeen perehdyttiin Azure DevOps-palvelun tarjoamiin työkaluihin ja siihen, miten niitä voitaisiin hyödyntää työssä. Lopuksi tutustuttiin myös Firebaseen sekä sen tarjoamiin työkaluihin ja palveluihin.
Tuloksena työstä voidaan todeta, että CI/CD-putken rakentaminen onnistui halutusti, ja React Native -sovellukseen tehdyt muutokset jaetaan onnistuneesti Firebaseen Pipelines-työkalua käyttäen. CI/CD-putki jakaa sovelluksen oikeaan Firebase-projektiin sen mukaan, mikä haara käynnisti putken. Myös Firebasen tarjoamat työkalut Crashlytics ja Analytics saatiin liitettyä sovellukseen onnistuneesti.
Toimeksiantajalla on nyt käytössään toimiva konsepti, jonka avulla yrityksen muiden sovellusten jakelu voidaan mahdollisesti siirtää Microsoftin App Center -palvelusta Googlen Firebase-palveluun. Toimeksiantajan muut sovellukset käyttävät jo Firebasen analytiikkatyökaluja, mutta sovellusten jakelu tapahtuu App Centeriin. Tämän työn tulosten avulla voidaan tarvittaessa siirtää sovelluksen jakelu ja analytiikkapuoli samalle alustalle.
Opinnäytetyö aloitettiin tutustumalla DevOps-menetelmään ja sen sisältämiin käsitteisiin. Niistä tärkeimpiä ovat jatkuva integraatio ja jatkuva toimittaminen. Tämän jälkeen perehdyttiin Azure DevOps-palvelun tarjoamiin työkaluihin ja siihen, miten niitä voitaisiin hyödyntää työssä. Lopuksi tutustuttiin myös Firebaseen sekä sen tarjoamiin työkaluihin ja palveluihin.
Tuloksena työstä voidaan todeta, että CI/CD-putken rakentaminen onnistui halutusti, ja React Native -sovellukseen tehdyt muutokset jaetaan onnistuneesti Firebaseen Pipelines-työkalua käyttäen. CI/CD-putki jakaa sovelluksen oikeaan Firebase-projektiin sen mukaan, mikä haara käynnisti putken. Myös Firebasen tarjoamat työkalut Crashlytics ja Analytics saatiin liitettyä sovellukseen onnistuneesti.
Toimeksiantajalla on nyt käytössään toimiva konsepti, jonka avulla yrityksen muiden sovellusten jakelu voidaan mahdollisesti siirtää Microsoftin App Center -palvelusta Googlen Firebase-palveluun. Toimeksiantajan muut sovellukset käyttävät jo Firebasen analytiikkatyökaluja, mutta sovellusten jakelu tapahtuu App Centeriin. Tämän työn tulosten avulla voidaan tarvittaessa siirtää sovelluksen jakelu ja analytiikkapuoli samalle alustalle.