Implementing Continuous Integration in a Small Company: A Case Study

 |  Login

Show simple item record

dc.contributor Aalto-yliopisto fi
dc.contributor Aalto University en
dc.contributor.advisor Paasivaara, Maria
dc.contributor.advisor Pesola, Juuso
dc.contributor.author Rejström, Kim
dc.date.accessioned 2016-11-02T09:44:52Z
dc.date.available 2016-11-02T09:44:52Z
dc.date.issued 2016-10-27
dc.identifier.uri https://aaltodoc.aalto.fi/handle/123456789/23360
dc.description.abstract Release engineering is the process responsible for taking individual code contributions of developers and bringing those to the end user in the form of high quality software releases. This process encompasses code change integration, build system specifications, infrastructure-as-code, deployment and release. Organizations have started automating various parts of their release pipelines resulting in the practices of continuous integration (CI), continuous delivery (CD), continuous deployment, DevOps and continuous value delivery. The goal of this thesis is to produce an updated release pipeline for the case company and evaluate the proposed solution from a CI/CD perspective. This is done through design science research, where an artifact (the new release pipeline) is constructed based on a series of feasibility studies aimed at finding an optimal solution to the elicited needs of the company. The study implemented a modern, automated release pipeline that solved the problems targeted. The solution includes many of the typical methods and tools documented in existing research: automated builds, test automation, configuration management and automated deployments. The CI/CD adoption was not without problems, as challenges related to resource allocation, security and QA efforts emerged. The transition was however successful and as a result of the implementation, perceived benefits included improved release planning, infrastructure-as-code and close tie-ins with the DevOps culture. en
dc.description.abstract Publiceringsutveckling är processen ansvaring för att individuella kod bidrag från programvaruutvecklarna levereras till slutanvändarna i form av högkvalitatets-programvara. Denna process omfattar integration av kod, specifikationer för build-system, infrastruktur-som-kod samt distribution och publicering av programvara. Organisationer har börjat automatisera olika delar av sina publiceringslinjer, något som resulterat i införandet av kontinuerlig integration (CI), kontinuerlig leverans (CD), kontinuerlig publicering, DevOps och kontinuerlig värde leverans. Målet med denna avhandling är att producera en uppdaterad publiceringslinje för fallstudie företaget och utvärdera den föreslagna lösningen från ett CI / CD perspektiv. Studien görs som design science forskning, dvs. en artefakt (den nya publiceringlinjen) konstrueras på basen av ett antal förstudier ämnade för att finna en optimal lösning på företagets problem. I studien implementerades en modern, automatiserad publiceringslinje som löste problemen den adresserade. Lösningen innehåller många av de typiska metoder och verktyg dokumenterade i befintlig forskning: automatiserade build-system, testautomatisering, konfigurationshantering samt automatiserade installationer. CI/CD övergången var dock inte problemfri – utmaningar relaterade till resursallokering, säkerhet och QA insatser uppstod på vägen. Övergången var trots detta lyckad och som följder av ett framgångsrikt genomförande uppstod förbättrad publiceringsplanering, infrastruktur-som-kod samt nära band till DevOps kulturen. sv
dc.format.extent 100+7
dc.format.mimetype application/pdf en
dc.language.iso en en
dc.title Implementing Continuous Integration in a Small Company: A Case Study en
dc.title Implementering av Kontinuerlig Integration i ett litet företag: En fallstudie sv
dc.type G2 Pro gradu, diplomityö fi
dc.contributor.school Perustieteiden korkeakoulu fi
dc.subject.keyword continuous integration en
dc.subject.keyword continuous delivery en
dc.subject.keyword single case study en
dc.subject.keyword release pipeline en
dc.subject.keyword DevOps en
dc.subject.keyword design science research en
dc.identifier.urn URN:NBN:fi:aalto-201611025461
dc.programme.major Software Engineering and Business en
dc.programme.mcode T3050 fi
dc.type.ontasot Master's thesis en
dc.type.ontasot Diplomityö fi
dc.contributor.supervisor Lassenius, Casper
dc.programme Tietotekniikan koulutusohjelma fi


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search archive


Advanced Search

article-iconSubmit a publication

Browse

My Account