Enabling Continuous Integration through deployment automation Case Study: Property transaction system of Finnish National Land Survey

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu | Master's thesis
Date
2018-03-26
Department
Major/Subject
Control, Robotics and Autonomous Systems
Mcode
ELEC3025
Degree programme
AEE - Master’s Programme in Automation and Electrical Engineering (TS2013)
Language
en
Pages
42
Series
Abstract
Finnish National Land Survey has commissioned Eficode to develop a service called Property Transaction Service for handling property issues electronically. As part of the development work, Eficode set up automated acceptance testing in a dedicated acceptance test environment but there was no deployment automation that is required for proper Continuous Integration and only time when new versions were deployed was the dedicated acceptance test period for release candidate. Scope of this thesis was to implement a deployment automation which would enable frequent and effortless deployments to the acceptance testing and development environment using an IT automation tool called Ansible. The result was an automated deployment process that released new versions for acceptance testing with very little input from the developers. Research and industry consensus both support the assertion that frequent automated deployments with automated testing improve software quality and increase predictability in software projects. In this thesis it is demonstrated that implementing a deployment process that is as far automated as possible will significantly increase the frequency of deployments without comparable investment in workload.

Maanmittauslaitos on tilannut Eficodelta Kiinteistövaihdannan palvelu nimisen ohjelmiston kehitystyötä. Kiinteistövaihdannan palvelun kehitystyö ei toistaiseksi ollut sisältänyt palvelun julkaisuprosessin automaatiota joka mahdollistaisi jatkuvan integraation laadunvarmistusympäristössä olemassa olevilla automaattisilla testeillä. Diplomityön tarkoituksena oli luoda julkaisuprossin automatisoiva ratkaisu käyttäen Ansible-nimistä ohjelmistoautomaatiotyökalua, joka mahdollistaisi tiheän julkaisun tarvittaviin ympäristöihin vähäisellä ylläpitotyöllä. Työn tuloksena oli automatisoitu julkaisuprosessi laadunvarmistus- ja kehitysympäristöihin, joka vaati erittäin vähäistä INPUT FROM DECELOPERS. Tutkimus ja alan yleinen konsensus tukevat oletusta jonka mukaan usein tapahtuva julkaiseminen ja automaattinen laadunvarmennus parantavat kehitettävien ohjelmistojen laatua ja projektin ennustettavuutta. Tämä diplomityö osoittaa, että hyödyntämällä pitkälle automatisoitua julkaisuprosessia on mahdollista nopeuttaa julkaisusykliä ilman että se kasvattaa merkittävästi kehittäjiltä vaadittavaa työmäärää.
Description
Supervisor
Vyatkin, Valeriy
Thesis advisor
Kairi, Tatu
Keywords
continuous integration, Devops, software development, ansible
Other note
Citation