Development of Continuous integration for a scalable progressive web application
Parikka, Peter (2019)
Parikka, Peter
2019
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-2019060113977
https://urn.fi/URN:NBN:fi:amk-2019060113977
Tiivistelmä
Many small companies and startups feel a pressure to increasingly develop applications with the latest standards and principles. The problems arise when a startup should launch their application for the market as fast as possible, whilst not having time to design good coding practices or set up complex Continuous integration and delivery pipeline. The pur-pose of this thesis is to tackle how to set up Continuous integration and Continuous deliv-ery in a small company or a start-up. The thesis is based on practical work which allows applications to easily be maintained, integrated and deployed for production. The begin-ning of this thesis will cover the consensus of past literature on Continuous integration and delivery, what the key takeaways are, what benefits they produce and how imple-menting these will affect the whole organization. It will then expand on planning and tools used to achieve expected result and dive deep into the practical implementation phase of the project. Illustrations of code and Amazon web service systems are included, for the reader to get a better picture of how the system works as a hole. The thesis will conclude with a discussion about the challenges, findings and improvements to be considered for future studies. Små företag och startups vill komma ut på marknaden så forts som möjligt. Detta orsakar att företagen inte prioriterar goda utvecklingsstandarder eller kontinuerlig integration- och leverans. Examensarbetets syfte är att utforska hur en startup kan utveckla kontinuerlig integration- och leverans från första början. Det första kapitlet utforskar konsensus av tidigare litteratur och ger läsaren en översikt om vad kontinuerlig integration- och leverans är. Kapitlet börjar med en genomgång av hur kommunikation påverkar processen och nyttan av att utveckla kontinuerlig integration- och leverans. Medan den andra delen utforskar problem med att utveckla kontinuerlig integration- och leverans. Examensarbete fortsätter med att presentera hur applikationen är planerat och vad som skall beaktas i planeringen av kontinuerlig integration- och leverans för en startup. I planeringen tas också upp olika arbetsredskap och varför detta arbetsredskap valdes till applikationen. Versionskontroll och kodgranskning utforskas i detalj, för det är en essentiell del för att uppnå lyckad kontinuerlig integration- och leverans. Det sista kapitlet går djupt in på implementationen, arkitekturen och olika komponenterna som används i applikationen. Applikationen utvecklades med hjälp av Amazon Web Services och GitHub. Amazon Web Services används för utvecklingen av ett kontinuerligt integration- och leveransrör, medan GitHub används som versionskontroll. En detaljerad beskrivning av de olika komponenterna som används inom Amazon Web Services ges. Illustrationer och kodsnutt presenteras för att ge läsaren en helhetsbild av processen. Kapitlet slutar med en genomgång av problem som uppkommit i implementationen. Examensarbetet slutar med att diskutera nyttan och problem med kontinuerlig integration- och leverans samt utforskar examensarbetet kritiskt. Förslag till kommande arbeten ges.