Termék életciklus és a verziókezelés

Hasonló dokumentumok
A FEJLESZTÉS KIHÍVÁSAI

Szoftver technológia. Verziókövető rendszerek. Cserép Máté ELTE Informatikai Kar 2019.

A fordítónak mindenhez lehet

Bazaar ismertető. Timár András

Szoftverminőségbiztosítás

Térinformatikai és távérzékelési alkalmazások fejlesztése. A szoftverfejlesztés technikai támogatása

Iványi László ARM programozás. Szabó Béla 1. Óra Verziókövetés

Konfigurációmenedzsment

Tortoise SVN használata. Képes útmutató

Programozási technológia 2.

Source control systems. Horváth Ernő, Dr. Pozna Claudiu Radu

Mi is a git? Csapatban dolgozni Git pro eszközök. Git bevezető. Szabó Adrienn Adatbányászat és Webes Keresés Kutatócsoport

Dr. Mileff Péter SZOFTVERFEJLESZTÉS VERZIÓKÖVETÉS, VERZIÓKÖVETŐ RENDSZEREK. Miskolci Egyetem Általános Informatikai Tanszék

Címkék és ágak kezelése i. Címkék és ágak kezelése

Szakdolgozat. Csernai Csaba

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

(Teszt)automatizálás. Bevezető

A DevOps-kultúra eszközei

AMI KIMARADT AMI KIMARADT

Verziókövető rendszerek használata a szoftverfejlesztésben

ADATBÁZIS VERZIÓKÖVETÉSE: LIQUIBASE

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

Trendek a nyílt forráskódú térinformatikai fejlesztésekben

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

Szo$verfejlesztés Eclipse környezetben. Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Code review és continous integration toolok BME-MIT

OOP és UML Áttekintés

Közösség, projektek, IDE

Szabálykezelés a gyakorlatban

IRÁNYTŰ A SZABÁLYTENGERBEN

12. rész: Verzió- és feladatkezelés a szoftverfejlesztésben. Bakay Árpád NETvisor kft (30) arpad.bakay@netvisor.hu

Nyílt forráskód, mint üzleti előny. Szücs Imre VTMSZ - CMC Minősítési előadás Ha valamit érdemes csinálni, akkor azt megéri jól csinálni

Feltörekvő technológiák: seam, drools, richfaces és társai a JBossban

Git verziókövető rendszer alkalmazása

Ustream.tv Bepillantás egy közösségi élővideo site működésébe

Műszaki dokumentációkezelés az ELO-ban Ajkai Elektronikai Kft. esettanulmánya

Szakdolgozati, TDK témajavaslatok

Linux kiszolgáló felügyelet: SUSE Manager

STANDARD DEVELOPMENT U.L. FACTORY SYSTEMS GROUP IT DEPARTMENT

Esri Magyarország Felhasználói Konferencia Portal for ArcGIS. Kisréti Ákos

IV.4. FELHŐ ALAPÚ BIZTONSÁGOS ADATTÁROLÁSI MÓDSZER ÉS TESZTKÖRNYEZET KIDOLGOZÁSA

Git verziókövető rendszer alkalmazása a projektek nyomon követésére

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Több platform egy kódbázis Tanulságok a Tresorittól. Budai Péter, vezető fejlesztő

Oracle GoldenGate Studio Nagyon rövid bemutató. Quick Talk. Gollnhofer Gábor

EGY NAGYBÓL HÚSZ KISEBB

Hogyan legyél DevOps

SQL Server High Availability

Fejlesztési projektek menedzselése IBM Rational CLM termékekkel. Ker-Soft Kft. Kaszás Orsolya - üzleti tanácsadó

Banki üzleti szabályok kezelésének támogatása

Gyors, kényelmes, típusbiztos

Szoftvertechnológia 9. fejezet. Implementáció és verziókövetés. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

extreme Programming programozástechnika

Java I. A Java programozási nyelv

Nyílt forráskódú technológiák központi és Önkormányzati környezetekben

BaBér. Bérügyviteli rendszer. Telepítési segédlet 2014.

JavaScript Web AppBuilder használata

Összetett szoftverrendszerek fejlesztése Innovatív szoftver prototípusok a Codespring Mentorprogram keretein belül

Gyakorlat és házi feladat tájékoztató

Viczián István IP Systems JUM XIX szeptember 18.

Együttműködésben a külvilággal, együttműködésben a piaccal

Előadók: Angyal Gergely (Raiffeisen), tesztelési csoportvezető Kováts Márton (KFKI), szenior rendszermérnök

DRUPAL 7. újdonságai. Hojtsy Gábor Drupal Hétvége, Budapest november 14. Angela Byron fóliái alapján

IV.4. FELHŐ ALAPÚ BIZTONSÁGOS ADATTÁROLÁSI MÓDSZER ÉS TESZTKÖRNYEZET KIDOLGOZÁSA

Szoftver metrika Eclipse-plugin KÉSZÍTETTE: BARTA JÁNOS (SS4TCD)

Szoftverminőségbiztosítás

RH/CentOS felügyelet SUSE Manager segítségével. Kovács Lajos Vezető konzultáns

Tartalomjegyzék 3 Szerző 6 I. Bevezető 7 II. A keresőoptimalizálás alapjai 9 SEO vs Google Ads 9 Miért pont a Google? 12 Internetes keresők 12 Miért

HecPoll a vezérlő rendszer

Új komponens a Talend Palettán: Starschema SAP Connector. Csillag Péter, Földi Tamás Starschema Kft.

ETL keretrendszer tervezése és implementálása. Gollnhofer Gábor Meta4Consulting Europe Kft.

Szoftver technológia. Projektmenedzsment eszközök. Cserép Máté ELTE Informatikai Kar 2019.

BaBér bérügyviteli rendszer telepítési segédlete év

Minőségmenedzsment és Informatika Test-Driven Development

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

SUSE Linux Enterprise Server 12 Hargitai Zsolt

Böngészők, böngészőmotorok

Rubin SPIRIT TEST. Domino net provisioning tesztelése esettanulmány 1.0. Készítette: Dobó Arnold Jóváhagyta: Varga József. Rubin Informatikai Zrt.

TANANYAGTÁRHÁZAK SZEREPE AZ ELEARNINGBEN. Vágvölgyi Csaba - Papp Gyula. Kölcsey Ferenc Református Tanítóképző Főiskola Debrecen

Minőségi téradat-szolgáltatások. fejlesztése és. és üzemeltetése

Működő ITSM Ne ágyúval verébre

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Változáskezelés és minőségbiztosítás

Boltban. Belépünk. Keressük meg. Keressük meg a jó részleget. a pénztárat. nem. Biztos hogy a jó helyen vagyunk. igen. Fizessünk.

Documentum-menedzsment. À la Open Source Molnár Ferenc Rendszerintegrációs igazgató

A B rész az Informatikai szakmai angol nyelv modul témaköreit tartalmazza.

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Tranzakció-kezelés, alapfogalmak. Vassányi István, 2012.

Flex: csak rugalmasan!

Mobil Informatikai Rendszerek

A belső hálózat konfigurálása

Junior Java Képzés. Tematika

Szabad szoftveres fejleszt!eszközök. Bán Szabolcs FSF.hu Alapítvány

Gyakorlat és házi feladat tájékoztató

Repo(sitory): verziókövetett tároló Commit: egy új verzió rögzítése a repóban Branch: egy ág a verziókövetési fában

Tárolóhely csökkentés és folyamatoptimalizáció archiválással

1. A Windows programok telepítése

A 2014/2015-ös ERASMUS+ KA103 (HE) záróbeszámolóval kapcsolatos technikai információk

A Nyílt Dokumentum Formátum és az EuroOffice 2012

Ügyfél- és címadatok feldolgozása Talenddel

Átírás:

Termék életciklus és a verziókezelés Nagy Attila Gábor Wildom Kft. Magyarországi Web Konferencia 2009

Ügyfél igények Jól ismert három környezet: Fejlesztői Teszt Éles Átlátható verziók Visszaállás lehetősége

Web környezet problémái Release early, release often Környezet kialakítása erőforrásigényes Éles környezetben is adódhatnak változtatási igények Hibajavításokat gyorsan kell átvezetni Adott termék több ügyfélnél is lehet telepítve (esetlegesen más verziók)

Megoldások Termékben implementálva Következetes verziókezelés Release management eszköz

Termékben implementálva Saját modul kezelő implementálása Elegáns megoldás Minden telepítés egyedileg állítható össze Aktuális állapot átlátható Akár az ügyfél is frissíthet

Hátrányai Bonyolult megírni Alap rendszer frissítése? Erre külön frissítés kezelő kell Fejlesztés alatt a belső verzió kezelést nem helyettesíti Ajánlott: ha sok ügyfelet szolgál ki egyetlen termék

Verziókezelés Fejlesztés elkerülhetetlen eszköze Csoportmunka (2+ fő) esetén elkerülhetetlen Fogalmak: Munkaverziók Branch-ek Release-ek

Hatalmas választék CVS ClearCase Team Foundation Server Subversion Bazaar Git BitKeeper Mercurial Darcs

Commit log!! Tippek az induláshoz Minden környezet azonos forráskódot használjon Konfiguráció nem verzió kezelt Környezet függő konfigurációk Rendszeres commitolás Csak tiszta kódot commitoljunk Ignore fájlok, akár projekt szinten Minimális változtatás elve Conflictok kezelését ismerni

CVS Ajánlott elfelejteni Könnyű áttérni róla Subversion-re Branch kezelés gyenge Nagyobb projektet nehéz átlátni History fájl szinten van csak Véletlen update után nehéz visszaállni Tag-ek viszont jól használhatóak benne

Éles és fejlesztői környezet CVS-ben Külön tag az éles verziónak Bármikor kialakítható, éles siteon: cvs tag LIVE Fejlesztői verziók tag nélkül Élesítés esetén áttesszük a tag-et: cvs tag -F LIVE cvs update

Értékelés Előnyök Megakadályozza a véletlen update-ket Bármikor könnyen újrahúzható az éles környezet Release tudatos döntés eredménye Hátrányok Éles site-on történt módosításokat nehéz commitolni

Subversion Legelterjedtebb eszköz Könnyen megtanulható CVS hibáit kijavították Használható branch-ek Revíziók meghatározzák a projekt állapotát adott időpontban Rugalmasabb mint a CVS

Párhuzamos ágak Intuitív Gyakori élesítésnél jobban megfelel Csak előre szemlélet Nincsenek dedikált releasek Nem kell újratelepíteni

Gordiuszi merge trunk trunk testing testing release release

Release branchek Minden release önálló branch-et (tag-et) kap Release-be commitolás Policy kérdése Bugfix Design módosítás

Életciklus RC merge release

Megjegyzések Jóval kevesebb merge Könnyű elfeledkezni arról, hogy új release-t hozzunk létre párhuzamos branch-ek Minden release új telepítés vagy: svn switch Nem egyértelmű, hogy mi kerülhet a release-be, és mi nem Fontos a jó policy Fontos azt betartatni

Merge tracking Fontos tudni, hogy mely revíziókat mergeltük már Többszörös merge conflict-ot okoz SVN még nem igazán erős ebben 1.5.0 előtt nem volt SVN-ben svnmerge: python script 1.5.0 óta mergeinfo trunk branch bármikor branch trunk csak egyszer reintegrate

Elosztott verzió kezelő rendszerek Hatékony branch-merge támogatás Linus: a merge a lényeg, branchelni mindenki tud Lokális branch-ek Nagy szabadság Implicit backup Git, Mercurial, Bazaar http://www.youtube.com/watch?v=4xpnkhjaok8

Hátrányok Nehéz megtanulni Sok branchet eredményezhet Kell egy jó rendező elv Hol a legfrissebb kód? Több idő megy el kód managementre

Bizonytalan ügyfél?? probléma Jelmagyarázat Jelmagyarázat Még Inkább fontosabb hagyjuk... feature Nagyon Mégsem Bocs, mégis sürgős olyan sürgős sürgős feature feature Általános Egész ügyes, fejlesztés de... 3 3 2 1 4 2 1 3 Revertelni nem lehet, mert értékes tartalom Mergelni sem lehet Cherry pick Nehezen átlátható Kimaradhat valami 2 1 R Egy commit több feature :(

Feature branch R 4 3 2 1 R 3 3 2 2 1 1 R 4 2 1 3 Egy feature egy branch Bármikor tetszőleges release összeállítható Mindig lehet commitolni Kisebb brancheket könnyebb átlátni

Ideális struktúra Projekt eleje szerteágazik Release-ek egyesítik a korábbi brancheeket Maradhatnak oldalágak Nem került be a releasebe

Tesztkörnyezet next Ügyfél nem akarja/tudja a brancheket külön látni Nincs több környezetünk Speciális demo branch Bármikor szétszedhető Release-candidate

Tudnivalók Megvalósítható Subversionnel Git, Mercurial erősebb ebben Projekt elején néha célszerűbb eltekinteni tőle Lehetőleg minden feature külön branchbe kerüljön Ha egymásra épülnek, akkor az új branch az előzményből származzon

Commit log!! Commit hookok Konvenció ellenőrzés Svn: enforcer.py Changelog a commitlogokból Integráció hibakezelő rendszerrel Commit lista supervising

Release management eszközök Maven, php-maven, Hudson Fordító nyelveknél előnyös Java Maven tudja, hogy mit, honnan kell összeszedni Repository szabadon használható Build során megkerülhetetlen Nehezítheti a tesztelést Pl: JavaScript, CSS

Összefoglaló Befektetés Mi felel meg nekünk legjobban? Eszköz Szakértelem Publikálási gyakoriság Telepítések száma Kapcsolat az ügyfelünkkel

Linkek Subversion http://subversion.tigris.org/ http://svnbook.red-bean.com/ http://tortoisesvn.tigris.org/ Maven http://maven.apache.org/ http://www.php-maven.org/ Hudson Mercurial http://mercurial.selenic.com/wiki/ Bazaar http://bazaar-vcs.org/ Git http://git-scm.com/ http://www.youtube.com/watch?v=4xpnkhjaok8 http://hudson.dev.java.net/ http://web.conf.hu/ nagya@wildom.com