Diplomová práce se zabývá popisem kontinuální integrace a jejím exemplárním nasazením při vývoji webové aplikace. V rámci teoretické části je popsán proces vývoje softwaru, s důrazem na představení kritických částí pro správné pochopení popisované metodiky, jako jsou verzovací systém, buildy a testování aplikace. Praktická část zahrnuje vývoj webové aplikace pro porovnávání podobnosti mezi texty. Důraz je kladen na popis toho, jak byla kontinuální integrace v rámci vývoje využita spolu s popisem reprodukce řešení pomocí serveru Jenkins CI.
Anotace v angličtině
The aim of this thesis is to describe continuous integration and its exemplary deployment in connection with development of web applications. In the theoretical part of the thesis, software development process is described, with an emphasis on introducing the critical parts for correct understanding of the described methodics, such as versioning system, builds and application testing. The practical part of the thesis includes developing a web application for comparing similarities between texts. Emphasis is placed on describing how continuous integration was used in terms of development, along with a description of reproducing the solution with a Jenkins CI server.
Klíčová slova
kontinuální integrace, Jenkins, Scrum, Spring Boot, Kotlin
Klíčová slova v angličtině
Continuous Integration, Jenkins, Scrum, Spring Boot, Kotlin
Rozsah průvodní práce
79 s.
Jazyk
CZ
Anotace
Diplomová práce se zabývá popisem kontinuální integrace a jejím exemplárním nasazením při vývoji webové aplikace. V rámci teoretické části je popsán proces vývoje softwaru, s důrazem na představení kritických částí pro správné pochopení popisované metodiky, jako jsou verzovací systém, buildy a testování aplikace. Praktická část zahrnuje vývoj webové aplikace pro porovnávání podobnosti mezi texty. Důraz je kladen na popis toho, jak byla kontinuální integrace v rámci vývoje využita spolu s popisem reprodukce řešení pomocí serveru Jenkins CI.
Anotace v angličtině
The aim of this thesis is to describe continuous integration and its exemplary deployment in connection with development of web applications. In the theoretical part of the thesis, software development process is described, with an emphasis on introducing the critical parts for correct understanding of the described methodics, such as versioning system, builds and application testing. The practical part of the thesis includes developing a web application for comparing similarities between texts. Emphasis is placed on describing how continuous integration was used in terms of development, along with a description of reproducing the solution with a Jenkins CI server.
Klíčová slova
kontinuální integrace, Jenkins, Scrum, Spring Boot, Kotlin
Klíčová slova v angličtině
Continuous Integration, Jenkins, Scrum, Spring Boot, Kotlin
Zásady pro vypracování
Cílem práce je popsat nástroje a postupy používané v rámci metodiky Continuous Integration a využít je při vývoji webové aplikace. V teoretické části práce se autor zaměří na popis problematiky vývoje softwaru v teamovém prostředí s představením nejběžněji používaných nástrojů, které pokrývají celý proces vývoje. Dále autor představí a porovná běžně dostupné nástroje pro CI. V praktické části autor vytvoří webovou aplikaci, při jejímž vývoji využije zvolený nástroj pro CI. Pro vybraný nástroj stručně popíše jeho instalaci a nastavení. Webová aplikace bude analyzovat a vhodným způsobem prezentovat informace, extrahované z databáze. Databáze bude obsahovat komentáře z internetových diskuzí a její plnění není předmětem této diplomové práce. Komentáře budou pocházet ze sběru dat z českých zpravodajských portálů.
Zásady pro vypracování
Cílem práce je popsat nástroje a postupy používané v rámci metodiky Continuous Integration a využít je při vývoji webové aplikace. V teoretické části práce se autor zaměří na popis problematiky vývoje softwaru v teamovém prostředí s představením nejběžněji používaných nástrojů, které pokrývají celý proces vývoje. Dále autor představí a porovná běžně dostupné nástroje pro CI. V praktické části autor vytvoří webovou aplikaci, při jejímž vývoji využije zvolený nástroj pro CI. Pro vybraný nástroj stručně popíše jeho instalaci a nastavení. Webová aplikace bude analyzovat a vhodným způsobem prezentovat informace, extrahované z databáze. Databáze bude obsahovat komentáře z internetových diskuzí a její plnění není předmětem této diplomové práce. Komentáře budou pocházet ze sběru dat z českých zpravodajských portálů.
Seznam doporučené literatury
DUVALL, Paul M., Steve MATYAS a Andrew GLOVER. Continuous integration: improving software quality and reducing risk. Upper Saddle River: Addison-Wesley, c2007. ISBN 978-0-321-33638-5.
MARTIN, Robert C. Čistý kód: [návrhové vzory, refaktorování, testování a další techniky agilního programování]. Přeložil Jiří BERKA. Brno: Computer Press, 2009. ISBN 978-80-251-2285-3.
Seznam doporučené literatury
DUVALL, Paul M., Steve MATYAS a Andrew GLOVER. Continuous integration: improving software quality and reducing risk. Upper Saddle River: Addison-Wesley, c2007. ISBN 978-0-321-33638-5.
MARTIN, Robert C. Čistý kód: [návrhové vzory, refaktorování, testování a další techniky agilního programování]. Přeložil Jiří BERKA. Brno: Computer Press, 2009. ISBN 978-80-251-2285-3.
Přílohy volně vložené
CD ROM
Přílohy vázané v práci
ilustrace, grafy, tabulky
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Diplomové práce teoreticky popisuje nástroje a postupy používané v rámci metodiky vývoje software zvané Continuous Integration (CI). Tyto poznatky jsou využity při vývoji aplikace, která vhodným způsobem prezentuje informace, extrahované z databáze. Databáze obsahuje komentáře z internetových diskuzí a její plnění bylo předmětem jiné diplomové práce (kolegy Martina Kmenta). Zkušenosti získané při nasazování CI metodiky jsou přehledně v práci analyzovány a popsány.
Práce byla zkontrolována dle směrnice 3/2018v systému IS STAG a nejedná se o plagiátorství.