Technologická středa Continuous Integration with Maven and Hudson Vlastimil Menčík 11.9.2009.

Slides:



Advertisements
Podobné prezentace
© 2000 VEMA počítače a projektování spol. s r. o..
Advertisements

Něco málo o ICNET s.r.o. Správa kódu v historii – přechod na TFS (TF Server) Nové platformy – přechod na TFS (TF Service) Integrace TFS s nástroji třetích.
Webové rozhraní pro datové úložiště
Úvod do platformy Java EE
Knihovny současnosti 2011, České Budějovice 13. – 15. září 2011
Regionální knihovní systém Clavius REKS
PowerDesigner 16.5 Ondřej Diviš.
Projektové řízení Modul č.1.
Tutoriál EDS možnosti přizpůsobení Pro administrátory support.ebsco.com.
Správa projektů programem Ant Miroslav Beneš. Správa projektů programem Ant2 Obsah V čem spočívá správa projektů V čem spočívá správa projektů Varianty:
 Vyhledání míst v programech vhodných pro optimalizaci  Sleduje se četnost volání a trvání jednotlivých částí programu JetBrains dotTrace Profiler.
Informační systém pro stavební společnost
Návrh a tvorba WWW Cvičení 6
T OOL FOR C OLLABORATIVE XML S CHEMA I NTEGRATION Jiří Meluzín.
Ing. Lukáš Burkoň Debugging 2. Testování 3. Unit testy 2.
J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor.
Tvorba webových aplikací
Týmová spolupráce s využitím Google Code
Apache Tomcat Vlastimil Flegl. Apache Tomcat  Kontejner servletu  Bezproblémový běh Java aplikací na serveru  Tomcat – nadstavba serveru Apache  Verze.
State. State – kontext a problém Kontext  chování objektu má záviset na jeho stavu, který se typicky mění za běhu Neflexibilní řešení  metody obsahují.
Tvorba webových aplikací s Apache Maven Využití Mavenu pro efektivní vývoj Jety Pavel Jetenský
Selenium testování GUI
1  Ex Libris Ltd., Internal and Confidential NISPEZ IV. konference 13. listopadu 2012 Martin Vojnar
X13PMT 3. seminář Ing. Martin Molhanec, CSc. Garant předmětu ČVUT – FEL, K13113.
IVIG 2005 Informační vzdělávání a informační gramotnost v teorii a praxi vzdělávacích institucí Projekt online systému podpory informačního vzděláván v.
4IT445 – Testování a ladění v PHP Ing. Jan Mittner
Roman Valeš projekt AVT. Cíl práce Obeznámení s programovacím jazykem Java Práce s vývojovými nástroji Hierarchie kódu Androidu Vytvoření Android aplikace.
Petr Brůha  udělat průzkum využití moderních vývojových nástrojů na Kivu  doplňuji průzkum Jana Štěbetáka z dokumentu.
Ant Připravil: Ing. Jan Kolomazník. strana 2 Proč vznikl Potřeba sestavovat komplexní Nezávisle na platformě Popis založený na xml Spouštění různých úloh.
4. Lekce Dílčí procesy funkčního testování
JavaScript Podmínky, cykly a pole.
Dokumentace objektů a zveřejnění funkcí
Představení nové verze OPSI Kamil Malinka Martin Lebeda PROJEKT financovaný z Operačního programu Vzdělávání pro konkurenceschopnost ZVYŠOVÁNÍ IT GRAMOTNOSTI.
Ing. Jan Mittner Životní cyklus požadavku 2. Moduly 3. Pluginy 4. Jak řešit komponenty typu menu 5. atd. 2.
C# - Testování a ladění aplikací Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
OSNOVA: a) Úvod do OOPb) Třídy bez metod c) Třídy s metodamid) Konstruktory a destruktory e) Metody constf) Knihovní třídy g) Třídy ve tříděh) Přetížení.
Pojmové vymezení. Proč pojmové vymezení? Spousta firem deklaruje svou projektovou orientaci Ve skutečnosti pouze používají několik metodik pro podporu.
2 Ing. Jan Keprt Centrální správa uživatelů 3 Jak to bylo dosud Bylo třeba nastavení uživatelů provést zvlášť, v každém modulu samostatně. Uživatel si.
Produkt.
GIMP GIMP je vlastně zkratkou názvu General / GNU(od roku 1997) Image Manipulation Program, což můžeme přeložit jako program na úpravu grafiky/obrázků.
Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou I NFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Ing. Jan Roubíček.
Multiplatformní, řídící systém elektronického vzdělávání pro školy eDoceo Multiplatformní, řídící systém elektronického vzdělávání pro školy Tomáš Hrdonka.
Návrh a tvorba WWW Přednáška 13 Vývoj webových aplikací.
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
Partner SBSC evening university , Čestlice.
Úvod Benchmarkování –Měření a vyhodnocování výkonnosti software pomocí modelových aplikací Regresní benchmarkování –Porovnávání výkonnosti vývojových.
JAN HAUSER LUKÁŠ MATERA ndEyes 1. Osnova Cíl projektu Problémy Prototyp Implementace 2.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Česko a Slovensko, výhledy do budoucnosti Michal Tomek – InterSystems BV.
PHP PHP - úvod - 02 Mgr. Josef Nožička IKT PHP
ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ KATEDRA TEORETICKÉ ELEKTROTECHKY Oddělení informatiky Java Micro Edition pro mobilní zařízení.
WebCastle VŠB Vedoucí bakalářské práce:Ing. Jan Ružička Ph.D. Vypracoval:Martin Prager VŠB – TU Ostrava Institut Geoinformatiky Studijní skupina :G362.
Moderní vývoj web aplikací na Dominu Martin Jinoch, MAP Systems, s.r.o
Nokia Czech Republic, s.r.o. Igor Šmerda, program manager.
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 11. Migrace systemu a deployment Administrace OS Windows 1Miroslav Prágl.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ
XSLT překladač Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
Počítačové hry a animace
Hudson ● Popis mé práce ● Postup práce ● Zhodnocení ● Dohoda příspívajícího - SCA Nguyen Quang Huy Open Source Programování Otevřená Informatika.
SYNTACTIC SUGAR Pokročilé využití a zkušenosti se systémem TRAC.
SOFTWAROVÁ PODPORA PRO VYTVÁŘENÍ FUZZY MODELŮ Knihovna fuzzy procedur Ing. Petr Želasko, VŠB-TU Ostrava.
NetBeans Plugin.  Echo2 web framework (Ajax, Java)  NetBeans IDE (modularita, Swing designer)  Vizuální design uživatelského rozhraní (WYSIWYG)  Drag.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
TDD - Test Driven Development
Programování mikropočítačů Platforma Arduino
Dlouhodobá praktická maturitní práce
Připravil: Ing. Jan Kolomazník, Ph.D.
Tradiční metodiky vývoje softwaru
Web Application Scanning
Decorator.
Transkript prezentace:

Technologická středa Continuous Integration with Maven and Hudson Vlastimil Menčík

© 2009 ET NETERA a.s. Continuous Integration Obsah 1.Motivace 2.Hudson 3.První pokus o CI 4.Maven 5.Druhý pokus o CI 6.Integrační testy

© 2009 ET NETERA a.s. Continuous Integration Motivace  Všeobecně známá:  Automatizace buildů, testování a deploymentu  Včasné odhalení chyb  Ušetření práce developerů, maintainerů i administrátorů  Není potřeba shánět „někoho, kdo to buildne“  Úspora času a nervů

© 2009 ET NETERA a.s. Continuous Integration Hudson  Open source CI nástroj  Běží v servletovém containeru  Podporuje SCM nástroje (CVS, SVN a další)  Umí spouštět ant, maven, případně custom shell skripty  Buildy lze plánovat časově, sledovat změny v SCM, případně spouštět řetězově

© 2009 ET NETERA a.s. Continuous Integration Hudson + ant  Necháme Hudson buildovat naše projekty tak, jak jsou  Jenom „trochu“ upravíme antovský buildfile  Problém: už jsme mimo prostředí Eclipse  Musíme kompilovat  Musíme definovat kompilační classpath  Musíme tedy udržovat classpath pro Eclipse i pro ant Uděláme další plugin do antu, který do bude dělat za nás?

© 2009 ET NETERA a.s. Continuous Integration Ukázka – JNP_JASPER_REPORTS

© 2009 ET NETERA a.s. Continuous Integration Hudson + ant  Hlavním problémem jsou závislosti Udržovat classpath pro Eclipse i pro Hudson  Hudson musí mít přístup do installu Pokud nechceme commitovat jary do SCM  Dohromady ale získáme jenom automatizaci buildu  Všechno další (řešení závislostí, spouštění testů, deployment) si musíme vyřešit sami v antu  Tato cesta znamená hodně „programování“ v antu

© 2009 ET NETERA a.s. Continuous Integration Apache Maven  Buildovací nástroj  Koncepce se ale od Antu výrazně liší  Convention over configuration  Project Object Model (POM) Popis projektu – ne procedurální zápis buildu Obsahuje závislosti na dalších projektech  Životní cykly buildu Fáze Pluginy

© 2009 ET NETERA a.s. Continuous Integration Maven - repositáře  Centrální -  Lokální – slouží hlavně jako cache  Lze přidávat další V POMu V nastaveních instalace Mavenu  Typicky firemní repositář a repositáře třetích stran  Podpora proxování

© 2009 ET NETERA a.s. Continuous Integration Maven - pluginy  Pugin má několik cílů (goals) MOJO = implementace cíle pluginu  Cíle bývají automaticky spojené s určitou fází buildu Např. surefire:test s fází test  Pluginů je hodně Jedním z nich je antrun – lze tedy volat ant  Můžeme si napsat vlastní

© 2009 ET NETERA a.s. Continuous Integration Maven – integrace do IDE  Plugin do Eclipse – m2eclipse  Grafický editor POMu  Spouštění buildů  Vyváření Maven projektů  Přidání závislostí do Eclipse classpath projektu

© 2009 ET NETERA a.s. Continuous Integration Ukázka – mavenized JNP_JASPER_REPORTS

© 2009 ET NETERA a.s. Continuous Integration Hudson + Maven  Externí závislosti a classpath vyřešil přímo Maven  Maven má i spoustu dalších výhod  Tranzitivní závislosti ušetří spoustu času Na čem všem závisí Hibernate?  Méně „programování“ v Antu  Je potřeba řešit jenom „speciální“ případy  „non-mavenized“ závislosti si musíme sami přidat do repositáře

© 2009 ET NETERA a.s. Continuous Integration Maven a testy  Jednotkové testy Vestavěný surefire-plugin automaticky ve fázi „test“  Integrační testy failsafe-plugin Související fáze: pre-integration-test, integration-test, post- integration-test, verify Nasazení na integrační prostředí, běh testů, úklid, vyhodnocení testů (a případný fail buildu) Integrační prostředí vždy uklizeno (torn down)  Výsledky testů se ukládají a lze je prohlížet v Hudsonu nebo někam publikovat

© 2009 ET NETERA a.s. Continuous Integration Ukázka – JNP_4_TICKETPRO

© 2009 ET NETERA a.s. Continuous Integration Převod jNP projektu na Maven  Nemáme ETN Maven repository Přidat všechny ETN knihovny do lokálního repositáře  Enhancování assetů Není plugin pro naší implementaci JDO Volání antu  Native2Ascii a licence pro Xstandard vyřešeny pomocí existujících pluginů  Nasazování na integrační prostředí Problém při použití Tomcat Manageru (PermGen space)

© 2009 ET NETERA a.s. Continuous Integration Pozorování  Kombinace Hudson + Ant sama o sobě tolik nepřinese a i dlouhodobě je dost pracná  Hudson + Maven vyžaduje značnou počáteční investici, přináší však mnoho výhod, které do budoucna můžou ušetřit velké množství práce  Řadu výhod přináší samotný Maven i bez CI  Bez jednotkových a integračních testů ztrácí CI efekt

© 2009 ET NETERA a.s. Continuous Integration Odkazy    (vyhledávač artefaktů) 

© 2009 ET NETERA a.s. Continuous Integration Závěr Prostor k diskuzi