DevOpsin CI/CD-menetelmien käyttöönotto web-sovelluksessa
Pajari, Taavi (2022)
Pajari, Taavi
2022
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-2022102821696
https://urn.fi/URN:NBN:fi:amk-2022102821696
Tiivistelmä
DevOpsin CI/CD-menetelmät lisäävät ketteryyttä ohjelmistokehityksen vaiheisiin. Opinnäytetyö toteutettiin tutkimuksellisena kehittämistyönä, tavoitteena ottaa jatkuvan integraation ja jatkuvan julkaisun menetelmät käyttöön toimeksiantajan jo olemassa olevaan web-sovellukseen ja asentaa agenttisovellus palvelimelle. Kehittämistyön tarkoitus oli mahdollistaa, että web-sovellus koottaisiin CI-menetelmään kuuluvalla koonti putkella automaattisesti uusien koodimuutosten lisäyksen jälkeen ja asennettaisiin ja otettaisiin käyttöön palvelimelle CD-menetelmiin kuuluvan julkaisu putken avulla automaattisesti. Opinnäytetyön toimeksiantajana toimi Profit Software Oy. DevOpsin CI/CD-menetelmien käyttöönotto toteutettiin toimeksiantajalle syksyn 2022 aikana.
Kehittämistyön tutkimusosuudessa perehdyttiin DevOps-käsitteeseen, DevOpsin historiaan, CI/CD-menetelmiin ja Azure DevOps -ympäristöön. Kehittämistyön käytännön osuudessa otettiin käyttöön Microsoftin Azure Pipelines -työkaluun kuuluvat CI -ja CD-putket sekä luotiin ja asennettiin CD-putken toiminnan mahdollistava agenttisovellus toimeksiantajan palvelimelle. Suuria haasteita käyttöönoton toteutuksessa ei ollut ja vastaan tulleet hidasteet ratkesivat nopeasti. DevOpsin CI/CD-menetelmien käyttöönotto vähentää jatkossa manuaalisia työvaiheita integroimalla koodimuutokset automaattisesti lähdekoodiin sekä suorittamalla koodin koontikäännöksen ja asennuksen palvelimelle automaattisesti, helpottaen kehittäjien työtä.
Tuloksena todettiin, että DevOpsin CI/CD-menetelmien käyttöönotto Azure DevOps -ympäristön avulla käy Microsoftin dokumentaation ja käyttöliittymän helppokäyttöisyyden ansiosta helposti. Menetelmien käyttöönottoa suunnitellessa on kuitenkin hyvä varmistaa, että kaikki sovelluksen osat toimivat ja toteutuksen tekijällä on tarvittavat oikeudet. Vaikka kyseessä oli pitempi ikäinen sovellus, DevOpsin CI/CD-menetelmät saatiin lisättyä pääosin sujuvasti. Jos CI/CD-menetelmien käyttöönotto olisi haastavampaa, voidaan silti todeta, että DevOpsin CI/CD-menetelmien hyödyt, eli automatisoinnin lisääminen kehitystyöhön, ovat merkityksellisyydessään mahdollisen käyttöönoton vaivan arvoisia.
Kehittämistyön tutkimusosuudessa perehdyttiin DevOps-käsitteeseen, DevOpsin historiaan, CI/CD-menetelmiin ja Azure DevOps -ympäristöön. Kehittämistyön käytännön osuudessa otettiin käyttöön Microsoftin Azure Pipelines -työkaluun kuuluvat CI -ja CD-putket sekä luotiin ja asennettiin CD-putken toiminnan mahdollistava agenttisovellus toimeksiantajan palvelimelle. Suuria haasteita käyttöönoton toteutuksessa ei ollut ja vastaan tulleet hidasteet ratkesivat nopeasti. DevOpsin CI/CD-menetelmien käyttöönotto vähentää jatkossa manuaalisia työvaiheita integroimalla koodimuutokset automaattisesti lähdekoodiin sekä suorittamalla koodin koontikäännöksen ja asennuksen palvelimelle automaattisesti, helpottaen kehittäjien työtä.
Tuloksena todettiin, että DevOpsin CI/CD-menetelmien käyttöönotto Azure DevOps -ympäristön avulla käy Microsoftin dokumentaation ja käyttöliittymän helppokäyttöisyyden ansiosta helposti. Menetelmien käyttöönottoa suunnitellessa on kuitenkin hyvä varmistaa, että kaikki sovelluksen osat toimivat ja toteutuksen tekijällä on tarvittavat oikeudet. Vaikka kyseessä oli pitempi ikäinen sovellus, DevOpsin CI/CD-menetelmät saatiin lisättyä pääosin sujuvasti. Jos CI/CD-menetelmien käyttöönotto olisi haastavampaa, voidaan silti todeta, että DevOpsin CI/CD-menetelmien hyödyt, eli automatisoinnin lisääminen kehitystyöhön, ovat merkityksellisyydessään mahdollisen käyttöönoton vaivan arvoisia.