Práce pojednává o procesu průběžného doručení (Continuous Delivery) z pohledu vývoje zásuvného modulu pro prostředí Jenkins CI, který poskytuje integraci s prostř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í. 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 delivery in terms of plugin development for Jenkins CI that provides integration with a 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. Afterwards, release engineering principles and Koji architecture is described a necessary introduction for description of Jenkins-Koji plugin development.
Práce pojednává o procesu průběžného doručení (Continuous Delivery) z pohledu vývoje zásuvného modulu pro prostředí Jenkins CI, který poskytuje integraci s prostř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í. 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 delivery in terms of plugin development for Jenkins CI that provides integration with a 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. Afterwards, release engineering principles and Koji architecture is described a necessary introduction for description of Jenkins-Koji plugin development.
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é
1 CD
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
Student prezentoval výsledky své práce. Poté byla komise seznámena s posudky práce a následně byla vedena rozprava nad prací, ve které byly položeny tyto dotazy:
Teoretická část práce (str. 9 - 44) obsahuje jak popis současného stavu, tak i nové trendy v oblastech průběžné integrace (continuous integration - CI) a průběžného doručení (continuous delivery - CD). Autor demonstruje výbornou znalost tématu i na příkladech použití nástrojů CI a CD ve firmě Red Hat. Rozsah popisu implementace v praktické části je také přiměřený. Práce je napsána dobrou angličtinou a také proto ji pokládám za velmi nadstandardní a hodnotím stupněm A-výborně. (dr. Dulík)
Jakým způsobem by bylo vhodné stávající zásuvný modul vylepšit tak, aby bylo snadné jej integrovat např. s nástroji pro procesní řízení (BPM nástroji). Aktuální implementace se přihlašuje do systému Koji vždy se stejnými přihlašovacími údaji, nezávisle na tom, který uživatel spustil akci Jenkins CI. Představuje toto bezpečnostní hrozbu nebo je dostatečná pouze autorizace a zaznamenávání spouštěných akcí na straně Jenkins CI?(dr. Juránek)
Proč jste práci psal v anglickém jazyce? Dělal vám někdo gramatickou a jazykovou korekturu? (prof. Prokop)
Student všechny dotazy zodpověděl.