Práce pojednává o procesu průběžné integrace (continuous integration) z pohledu vývoje zásuvného modulu pro prostředí Jenkins CI, který poskytuje integraci s prosředím Koji sloužícím pro sestavování produkčních aplikací. Praktická část práce je publikována pod open-source MIT licencí a je volně dostupná ke stažení. Z počátku je cíl práce zasazen do rámce agilních metodik, popisuje důležitost a výhody průběžné integrace, aby se následně vybudoval prostor pro popis architektury Jenkins a specifika vývoje zásuvných modulů pro tuto platformu. Dále jsou popsány principy a architektura systému Koji, aby se vytvořil prostor pro popsání vývoje Jenkins-Koji zásuvného modulu.
Anotace v angličtině
This thesis describes the process of continuous integration in terms of plugin development for Jenkins CI that provides integration with clean-room build environment for production builds called Koji. The resulting software is published under the MIT open-source license and is available for download from the Jenkins CI community pages. The continuous integration process is put into the context of agile development, and the key points and advantages of continuous integration are described. Furthermore Jenkins CI architecture and the specifics of plugin development are described. Afterwards release engineering principles and Koji architecture is described to build space for description of Jenkins-Koji plugin development.
continuous integration, Jenkins, Koji, unit tests, agile methodologies, plugin, production builds, clean-room environment, release engineering, Maven
Rozsah průvodní práce
56 s (78420 znaků)
Jazyk
AN
Anotace
Práce pojednává o procesu průběžné integrace (continuous integration) z pohledu vývoje zásuvného modulu pro prostředí Jenkins CI, který poskytuje integraci s prosředím Koji sloužícím pro sestavování produkčních aplikací. Praktická část práce je publikována pod open-source MIT licencí a je volně dostupná ke stažení. Z počátku je cíl práce zasazen do rámce agilních metodik, popisuje důležitost a výhody průběžné integrace, aby se následně vybudoval prostor pro popis architektury Jenkins a specifika vývoje zásuvných modulů pro tuto platformu. Dále jsou popsány principy a architektura systému Koji, aby se vytvořil prostor pro popsání vývoje Jenkins-Koji zásuvného modulu.
Anotace v angličtině
This thesis describes the process of continuous integration in terms of plugin development for Jenkins CI that provides integration with clean-room build environment for production builds called Koji. The resulting software is published under the MIT open-source license and is available for download from the Jenkins CI community pages. The continuous integration process is put into the context of agile development, and the key points and advantages of continuous integration are described. Furthermore Jenkins CI architecture and the specifics of plugin development are described. Afterwards release engineering principles and Koji architecture is described to build space for description of Jenkins-Koji plugin development.
continuous integration, Jenkins, Koji, unit tests, agile methodologies, plugin, production builds, clean-room environment, release engineering, Maven
Zásady pro vypracování
Prostudujte možnosti systému Koji.
Analyzujte možnost použití Koji v systému Jenkins CI (Continuous Integration).
Navrhněte zásuvný modul integrující systémy Koji a Jenkins CI na základě požadavků vývojářských komunit obou systémů.
Publikujte plugin pod opensource licencí a získejte zpětnou vazbu od vývojářské komunity Jenkins CI a JBoss / Red Hat.
Shrňte a diskutujte výsledky práce.
Zásady pro vypracování
Prostudujte možnosti systému Koji.
Analyzujte možnost použití Koji v systému Jenkins CI (Continuous Integration).
Navrhněte zásuvný modul integrující systémy Koji a Jenkins CI na základě požadavků vývojářských komunit obou systémů.
Publikujte plugin pod opensource licencí a získejte zpětnou vazbu od vývojářské komunity Jenkins CI a JBoss / Red Hat.
Shrňte a diskutujte výsledky práce.
Seznam doporučené literatury
SMART, John Ferguson. Jenkins: The definitive guide. Sebastopol, Calif: O'Reilly Media, 2011. ISBN 978-144-9305-352.
DUVALL, Paul M, Steve MATYAS a Andrew GLOVER. Continuous integration: Improving software quality and reducing risk. Upper Saddle River, NJ: Addison-Wesley, 2007, 283 s. ISBN 03-213-3638-0.
HUMBLE, Jez. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Boston: Addison-Wesley, 2010. ISBN 978-0321601919.
BECK, Kent a Cynthia ANDRES. Extreme programming explained: embrace change. 2nd ed. Boston, MA: AddisonWesley, 2005, 189 s. ISBN 03-212-7865-8.
ROEBUCK, Kevin. Continuous Integration: High-impact Strategies - What You Need to Know: Definitions, Adoptions, Impact, Benefits, Maturity, Vendors. Ruislip: Tebbo, 2011. ISBN 978-1743044841.
Koji: RPM building and tracking system [online]. 2013 [cit. 2013-10-21]. Dostupné z: https://fedorahosted.org/koji/wiki
ROSHEN, Waseem. SOA-based enterprise integration: a step-by-step guide to services-based application integration. New York: McGraw-Hill, 2009, xix, 364 p. ISBN 00-716-0552-5.
Seznam doporučené literatury
SMART, John Ferguson. Jenkins: The definitive guide. Sebastopol, Calif: O'Reilly Media, 2011. ISBN 978-144-9305-352.
DUVALL, Paul M, Steve MATYAS a Andrew GLOVER. Continuous integration: Improving software quality and reducing risk. Upper Saddle River, NJ: Addison-Wesley, 2007, 283 s. ISBN 03-213-3638-0.
HUMBLE, Jez. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Boston: Addison-Wesley, 2010. ISBN 978-0321601919.
BECK, Kent a Cynthia ANDRES. Extreme programming explained: embrace change. 2nd ed. Boston, MA: AddisonWesley, 2005, 189 s. ISBN 03-212-7865-8.
ROEBUCK, Kevin. Continuous Integration: High-impact Strategies - What You Need to Know: Definitions, Adoptions, Impact, Benefits, Maturity, Vendors. Ruislip: Tebbo, 2011. ISBN 978-1743044841.
Koji: RPM building and tracking system [online]. 2013 [cit. 2013-10-21]. Dostupné z: https://fedorahosted.org/koji/wiki
ROSHEN, Waseem. SOA-based enterprise integration: a step-by-step guide to services-based application integration. New York: McGraw-Hill, 2009, xix, 364 p. ISBN 00-716-0552-5.
Přílohy volně vložené
2 CDROM
Přílohy vázané v práci
ilustrace, schémata, tabulky
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Diplomant odprezentoval před komisí hlavní cíle a výsledky své diplomové práce. Prezentace jako celek působila dobrým dojmem, student dokázal velmi dobře vystihnout klíčové body práce. Součástí prezentace nebyla praktická ukázka. Následně byl student seznámen s posudky vedoucího a oponenta diplomové práce.
Komise vznesla k obhajobě následující dotazy:
1) prof. Vlček: Požaduje zákazník uvedené certifikace?
2) Dr. Vojtěšek: V čem se bude lišit použití zásuvných modulů pro komunitní projekty? Jak to bude u komerčně podporovaných projektů?
Komise usoudila, že teoretická část práce nemá požadovaný rozsah a proto doporučuje dopracování této části práce.