Feature preview deployments as part of the CI/CD pipeline in software development

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorTörnroos, Juha
dc.contributor.authorMäkinen, Joonatan
dc.contributor.schoolSähkötekniikan korkeakoulufi
dc.contributor.supervisorVanhanen, Jari-Pekka
dc.date.accessioned2024-03-17T18:16:06Z
dc.date.available2024-03-17T18:16:06Z
dc.date.issued2024-03-11
dc.description.abstractThis thesis explores the implementation and impact of an enhanced Continuous Integration/Continuous Delivery (CI/CD) pipeline within a software development team. Rooted in the canonical action research framework, the study progresses through diagnosis, action planning, intervention, evaluation, and learning phases. As a result of these phases, the particular CI/CD pipeline utilized by a real-world software development team sees the addition of an automated feature preview deployment system. This enables each pull/merge request of new software features to be previewed in a testing environment to aid the code review process. This improvement demonstrates notable benefits, enhancing development efficiency, internal and external collaboration of the team, and scalability of a project with a growing team. However, the solution presented in the thesis might also not be applicable for every software development project with differing deployment configurations. The research also identifies future paths, such as enabling feature branch deployments already prior to pull/merge request phase and an automated release process accommodating previous releases in the same testing environment. The implications for practice highlight the importance of suitable CI/CD adoption, balancing automation benefits with precision in software quality. Future research suggestions include exploring new CI/CD configurations, organizational shifts caused by adoption, and staying alongside evolving industry trends. Therefore, this thesis essentially contributes to the ongoing consideration on CI/CD practices, offering practical insights and directions for further exploration in the realm of software development.en
dc.description.abstractTämä opinnäytetyö tutkii jatkuvan integrointi-/toimitusputken parannusta, käyttöönottoa ja sen toteuttamaa vaikutusta ohjelmistokehitystiimissä. Kanonisen toimintatutkimus kehyksen kautta tutkimus etenee diagnoosi-, toimintasuunnittelu-, interventio-, arviointi- ja oppimisvaiheiden kautta. Näiden vaiheiden seurauksena kyseiseen CI/CD-putkeen, joka toimii oikean ohjelmistokehitystiimin käytössä, lisättiin automatisoitu esikatselu järjestelmän. Tämä mahdollistaa jokaisen uuden ohjelmisto ominaisuuden esikatselun testausympäristöissä koodin tarkastusprosessin avustamiseksi jokaisen pull/merge-pyynnön kohdalla. Tämä parannus osoittaa merkittäviä etuja, tehostaen itse ohjelmistokehitystä, kehitystiimin sisäistä ja ulkoista yhteistyötä ja projektia toteuttavan tiimin koon skaalautuvuutta. On kuitenkin huomioitava, että tutkimuksessa esitetty ratkaisu ei välttämättä sovellu kaikkiin ohjelmistokehitysprojekteihin erilaisilla julkaisukonfiguraatioilla. Tutkimus tunnistaa myös tulevaisuuden mahdollisuuksia, kuten esitarkastusvaiheen ominaisuuksien käyttöönottoa jo ennen pull/merge-pyyntö osuutta sekä automatisoitua julkaisuprosessia, joka ottaa huomioon aiemmin julkaistut versiot samassa testausympäristössä. Käytännön sovellusten näkökulmasta työ korostaa sopivan CI/CD-käytäntöjen omaksumisen tärkeyttä tasapainottaen automatisoinnin etuja ohjelmiston laadun tarkkuuden ohella. Tulevaisuuden tutkimuksen ehdotukset sisältävät uusien CI/CD-konfiguraatioiden tutkimista, käytäntöjen käyttöönoton aiheuttamien organisaatiollisten muutosten tutkimista ja pysymista ajan tasalla muuttuvista alan suuntautumisista. Täten tämä opinnäytetyö tarjoaa eräänlaisen myötävaikutuksen CI/CD-käytäntöjen jatkuvaan keskusteluun tarjoten käytännön näkökohtia ja ohjeita lisätutkimukseen ohjelmistokehityksen kontekstissa.fi
dc.format.extent51+10
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/127154
dc.identifier.urnURN:NBN:fi:aalto-202403172792
dc.language.isoenen
dc.locationP1fi
dc.programmeAEE - Master’s Programme in Automation and Electrical Engineering (TS2013)fi
dc.programme.majorControl, Robotics and Autonomous Systemsfi
dc.programme.mcodeELEC3025fi
dc.subject.keywordsoftware developmenen
dc.subject.keywordcontinuous integrationen
dc.subject.keywordcontinuous deliveryen
dc.subject.keywordcontinuous deploymenten
dc.subject.keywordDevOpsen
dc.subject.keywordcanonical action researchen
dc.titleFeature preview deployments as part of the CI/CD pipeline in software developmenten
dc.titleOminaisuuden esikatselun mahdollistaminen ohjelmistokehityksessä osana CI/CD-putkeafi
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessno
Files