Jatkuvan integraation ratkaisut Azure DevOps -ympäristössä
Hakkarainen, Jensina (2023)
Hakkarainen, Jensina
2023
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-202303133508
https://urn.fi/URN:NBN:fi:amk-202303133508
Tiivistelmä
Insinöörityön tavoitteena oli luoda toimeksiantajayritys Oy Samlink Ab:lle jatkuvan integraation putki erääseen rahoitustenhallintajärjestelmän projektiin. Putki toimisi validointina pull requesteille ja sen tavoitteena oli tuoda laadunhallintaa varhaisempaan kehitysvaiheeseen, sillä aiemmin yksikkötestaus ja koodin laadun varmistus olivat kehittäjien subjektiivisen muistin ja osaamisen varassa.
Insinöörityössä pohdittiin ohjelmiston ja koodin laatua ja määrittelyä ja niistä ammennettiin yleisten hyvien käytäntöjen mukaisia sääntöjä ja ehtoja putken läpimenolle. Putki toteutettiin hyödyntäen Azure Pipelines -palvelua. Putkessa oli alkuperäisen suunnitelman mukaan oltava koonti, yksikkötestaus, SonarQube-analyysi, WhiteSource-analyysi sekä testikattavuusraportti, jonka myötä saataisiin asetettua 80 prosentin vähimmäisvaatimus ehdoksi putken läpimenolle ja pull requestin hyväksynnälle.
Projektia kehitettiin Azure DevOps -palvelimella. Vanha koodi oli toteutettu .NET Framework 4.7.2 -ohjelmistokehyksellä ja uusi koodi .NET 6 -ohjelmistokehyksellä. Vanha 4.7.2-ohjelmistokehys aiheutti ongelmia testikattavuustyökalujen kanssa, sillä useimmat niistä eivät tue kyseistä kehystä. Lisäksi testikattavuustyökalun valintaan vaikutti SonarQube-yhteensopivuus. Tämän opinnäytetyön valmistumishetkellä projektilla ei ollut käytössä testikattavuusanalyysia, mutta testiprojektiin tämä saatiin toimimaan .NET 6 -ohjelmistokehyksen kanssa. Lopputuloksena syntyi putki, joka sisälsi koonnin, yksikkötestauksen sekä SonarQube-analyysin. Jatkokehityksen kohteena on löytää toimiva testikattavuusratkaisu, joka toimii molempien ohjelmistokehysten kanssa.
Insinöörityössä pohdittiin ohjelmiston ja koodin laatua ja määrittelyä ja niistä ammennettiin yleisten hyvien käytäntöjen mukaisia sääntöjä ja ehtoja putken läpimenolle. Putki toteutettiin hyödyntäen Azure Pipelines -palvelua. Putkessa oli alkuperäisen suunnitelman mukaan oltava koonti, yksikkötestaus, SonarQube-analyysi, WhiteSource-analyysi sekä testikattavuusraportti, jonka myötä saataisiin asetettua 80 prosentin vähimmäisvaatimus ehdoksi putken läpimenolle ja pull requestin hyväksynnälle.
Projektia kehitettiin Azure DevOps -palvelimella. Vanha koodi oli toteutettu .NET Framework 4.7.2 -ohjelmistokehyksellä ja uusi koodi .NET 6 -ohjelmistokehyksellä. Vanha 4.7.2-ohjelmistokehys aiheutti ongelmia testikattavuustyökalujen kanssa, sillä useimmat niistä eivät tue kyseistä kehystä. Lisäksi testikattavuustyökalun valintaan vaikutti SonarQube-yhteensopivuus. Tämän opinnäytetyön valmistumishetkellä projektilla ei ollut käytössä testikattavuusanalyysia, mutta testiprojektiin tämä saatiin toimimaan .NET 6 -ohjelmistokehyksen kanssa. Lopputuloksena syntyi putki, joka sisälsi koonnin, yksikkötestauksen sekä SonarQube-analyysin. Jatkokehityksen kohteena on löytää toimiva testikattavuusratkaisu, joka toimii molempien ohjelmistokehysten kanssa.