haku: @keyword continuous integration / yhteensä: 15
viite: 3 / 15
Tekijä:Rejström, Kim
Työn nimi:Implementing Continuous Integration in a Small Company: A Case Study
Implementering av kontinuerlig integration i ett litet företag: En fallstudie
Julkaisutyyppi:Diplomityö
Julkaisuvuosi:2016
Sivut:(7) + 100      Kieli:   eng
Koulu/Laitos/Osasto:Perustieteiden korkeakoulu
Oppiaine:Software Engineering and Business   (T-110)
Valvoja:Lassenius, Casper
Ohjaaja:Paasivaara, Maria ; Pesola, Juuso
Elektroninen julkaisu: http://urn.fi/URN:NBN:fi:aalto-201611025461
Sijainti:P1 Ark Aalto  4805   | Arkisto
Avainsanat:continuous integration
continuous delivery
single case study
release pipeline
DevOps
design science research
kontinuerlig integration
kontinuerlig leverans
fallstudie
publiceringslinje
design science forskning
CI assimilation
Tiivistelmä (eng):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.
Tiivistelmä (swe):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 publiceringsline 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 addresserade.
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.
ED:2016-11-13
INSSI tietueen numero: 54992
+ lisää koriin
INSSI