43
Konfigurációmenedzsment VIMIMA11 Rendszertervezés és integráció © BME-MIT 2015 Budapest University of Technology and Economics Department of Measurement and Information Systems VIMIMA11 Rendszertervezés és integráció Scherer Balázs

VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Konfigurációmenedzsment

VIMIMA11 Rendszertervezés és –integráció

© BME-MIT 2015Budapest University of Technology and Economics

Department of Measurement and Information Systems

VIMIMA11 Rendszertervezés és –integráció

Scherer Balázs

Page 2: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Az alapprobléma

idő

idő

Konfigurációs komponensek

Komponens 1

Komponens 2

Komponens 3

v1.0 v1.1 v1.2 V2.0

v1.0 v1.3 V2.1

v1.0 v1.1 v1.3 V1.6 V2.0

© BME-MIT 2015 2.

idő

idő

Konfigurációs komponensek

Konfigurációs egység

Komponens 3

Konfigurációs egység 1 Konfigurációs egység 2

v1.0

v1.0

v1.0 v1.2V1.6

V2.1

Page 3: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Konfigurációmenedzsment CMMI folyamat

� SG 1: A termékhez és elkészítéséhez szüksége alapkonfiguráció létrehozása

(Establish Baselines)

o SP 1.1: A konfigurációs komponensek azonosítása (Identify Configuration Items)

o SP 1.2: A konfiguráció menedzsment rendszer létrehozása (Establish a

Configuration Management System)

o SP 1.3 Az alapkonfigurációk létrehozása, kibocsátása. Release kibocsájtása

(Create or Release Baselines)

SG 2: Változások követése és kezelése (Track and Control Changes)

© BME-MIT 2015 3.

� SG 2: Változások követése és kezelése (Track and Control Changes)

o SP 2.1: Változtatási kérések követése (Track Change Requests)

o SP 2.2: A konfigurációs komponensek változásainak felügyelése (Control

Configuration Items)

� SG 3: Integritás létrehozása és megtartása (Establish Integrity)

o SP 3.1: A konfigurációmenedzsmenthez tartozó loggok készítése (Establish

Configuration Management Records)

o SP 3.2: Konfigurációs auditok megrendezése (Perform Configuration Audits)

Page 4: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Konfigurációs komponensek azonosítása

� A végtermék, és azzal együtt kiszállításra kerülő

komponensek

� Termékek, amelyek fontosak a belső

munkafolyamatokhoz és változhatnak az időben.

� Eszközök, amelyek az egyes munkafolyamatokhoz

© BME-MIT 2015 4.

� Eszközök, amelyek az egyes munkafolyamatokhoz

kellenek

� Megvásárolt termékek

� Minden más, ami a fenti termékek előállításához,

leírásához, kezeléséhez szükséges.

Page 5: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Konfigurációmenedzsment rendszer

létrehozása

� Tárolási pontok meghatározása

o Dinamikus: Helyben a fejlesztőnél tárolt verziók

o Kontrolált, vagy központi tárolási pont: Központi tároló pontja

a jelenlegi fejlesztésnek

o Statikus, archívum: A már kibocsájtott release-ek archívuma

© BME-MIT 2015 5.

o Statikus, archívum: A már kibocsájtott release-ek archívuma

� Tipikus konfigurációs életciklusok meghatározása

� Hozzáférési jogok kiadása

o Az egyes hozzáférési szintek meghatározása

o A résztvevőkhöz felelősségek és jogok társítása

Page 6: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Példa tipikus konfigurációs életciklusra

1 3 6 8 10 12

2 5 7 11Branch

Trunk

merge

BranchMegszakított

oldalág

© BME-MIT 2015 6.

1 3 6 8 10 12

4 9

Trunk

Tag

Page 7: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Konfiguráció menedzsment eszközei

� Egyszerűbb esetekben tipikusan valamilyen

verziókövető rendszert használnak

© BME-MIT 2015 7.

Page 8: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Verziókövető rendszerekAz igény kialakulása

� Egy tipikus fejlesztési probléma:

o Az eddig futó alkalmazáshoz új kódrészletet rakunk

o Az alkalmazás lefagy

o Visszaállítjuk a módosításokat

o Az alkalmazás még mindig fagy…

© BME-MIT 2015 8.

o Az alkalmazás még mindig fagy…

� A helyzet csak bonyolódik, ha nem egyedül dolgozunk:

o Változtatunk a működő alkalmazáson

o De valaki más is beleír egy picit

o Az alkalmazás lefagy

Page 9: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Triviális verziókövetés

� Naponta egy külön könyvtárba bemásoljuk az aznapi munkánk

eredményét

� Project mellé mellékelünk egy changelog file-t is

© BME-MIT 2015 9.

Page 10: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Triviális verziókövetés

� Naponta egy külön könyvtárba bemásoljuk az aznapi munkánk

eredményét

� Project mellé mellékelünk egy changelog file-t is

Problémák

� A másolatok komplett másolatok, tehát sok helyet igényelnek.

© BME-MIT 2015 10.

� A másolatok komplett másolatok, tehát sok helyet igényelnek.

� Milyen gyakorisággal készítsünk másolatot?

� Csak működő verziót másoljunk fel, vagy köztes verziót is?

� Hogyan tudjuk követni, hogy min változtattunk?

� A change file-t nagyon pontosan kell nyilvántartani, különben

inkább kártékony, mint hasznos, de nincs semmilyen

automatizmus, ami erre ösztönözne.

Page 11: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Centralizált verziókövető rendszerekAlaptulajdonságok

� A verziómenedzsment alapja nem más, mint egy adott project összes változásának nyilvántartása.

� Egy verziómenedzsment rendszer nyilvántarto minden egyes file-on létrehozott változást,

o a könyvtárstruktúrát érintő minden változást.

© BME-MIT 2015 11.

o a könyvtárstruktúrát érintő minden változást.

� A felhasználónak lehetősége vano megtekinteni a project vagy egy file állapotát egy adott

pillanatban,

o megtudni, hogy ki, mit és mikor változtatott az adott projecten

o kommentet tenni minden változtatás mellé

Page 12: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

� Repository (raktár): Központi nyilvántartása az

adatoknak vagy projectnek (a master copy).

� Client: Felhasználó, aki dolgozni kíván a projecten.

Centralizált verziókövető rendszerekAlapfogalmak

© BME-MIT 2015 12.

� Working copy: Egy Client által a projectből

létrehozott munkaváltozat, amit szabadon

változtathat.

Page 13: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Repository

Visszaír (Commit)

Centralizált verziókövető rendszerekMűködési alapok

© BME-MIT 2015 13.

Client 1 Client 2 Client 3

Olvas

(Check out)

Visszaír (Commit)

Page 14: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Verziómenedzsment stratégiák: A probléma

� Hogyan támogatja a verziókövető rendszer, hogy a felhasználók együtt dolgozzanak, de mégse lépjenek egymás lábára?

� Ilyen stratégia nélkül könnyen előfordulhat, hogy egy file-t vagy projectet egyszerre többen

© BME-MIT 2015 14.

egy file-t vagy projectet egyszerre többen módosítanak, majd felülírják egymás módosításait (a módosítások nem tűnnek el, de nem is kerülnek bele az új verzióba).

Page 15: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

A Lock–Modify–Unlock megközelítés

� Módosítás előtt le kell lockolni egy file-t.

� Tehát egyszerre csak egy ember tudja módosítani a file-t. Olvasni tudja más is.

© BME-MIT 2015 15.

Page 16: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Lock–Modify–Unlock megközelítés

if(temp>1)

a = 1;

else

a = 2;

Repository

User 1

Local copy

if(temp>1)

a = 1;

else

a = 2;

Lock

© BME-MIT 2015 16.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 2;

Page 17: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Lock–Modify–Unlock megközelítés

if(temp>1)

a = 1;

else

a = 2;

Repository

User 1

Local copy

if(temp>1)

a = 1;

else

a = 2;Read

© BME-MIT 2015 17.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 2;

Page 18: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 1;

else

a = 2;

RepositoryUser 1

Local copy

if(temp>1)

a = 1;

else

a = 3;

Lock–Modify–Unlock megközelítés

© BME-MIT 2015 18.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 2;

Page 19: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 1;

else

a = 3;

Repository

User 1

Local copy

if(temp>1)

a = 1;

else

a = 3;

Write

Lock–Modify–Unlock megközelítés

© BME-MIT 2015 19.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 2;

Page 20: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 1;

else

a = 3;

Repository

User 1

Local copy

if(temp>1)

a = 1;

else

a = 3;Unlock

Lock–Modify–Unlock megközelítés

© BME-MIT 2015 20.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 2;

Page 21: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 1;

else

a = 3;

Repository

User 1

Local copy

if(temp>1)

a = 1;

else

a = 3;

Lock–Modify–Unlock megközelítés

© BME-MIT 2015 21.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 2;

Page 22: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 1;

else

a = 3;

Repository

User 1

Local copy

if(temp>1)

a = 1;

else

a = 3;

Lock–Modify–Unlock megközelítés

© BME-MIT 2015 22.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 3;

Page 23: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

A Lock–Modify–Unlock megközelítés problémái

� Adminisztratív problémákhoz vezethet:o Ha egy fejlesztő elfelejt kilockolni egy file-t, akkor más nem

férhet hozzá.o Ha szabadságra megy, akkor pl. rendszergazda kell.

� Felesleges egymásra várást okozhat.o Egy C file-on belül például valaki az F1 függvényt akarja

módosítani, másvalaki pedig az F2-t. Semmi köze a kettőnek

© BME-MIT 2015 23.

o Egy C file-on belül például valaki az F1 függvényt akarja módosítani, másvalaki pedig az F2-t. Semmi köze a kettőnek egymáshoz mégsem tudják egyszerre megcsinálni.

� A biztonság hamis illúzióját keltheti.o Például két fejlesztő dolgozik ugyanazon a projecten, az

egyik lockolja az A file-t, a másik a B file-t. A két file között függőség áll fent. Mindketten azt hiszik biztonságban vannak, holott mégsem.

Page 24: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

A Copy–Modify–Merge megközelítés

� Egyszerre több fejlesztő is ki „check out”-olhatjaugyanazt, mindenki a saját Working copy-ját használja.

� Working copy: A Repository (vagy annak egy részének) saját gépen található leképezése.

� A létrejövő konfliktusokat pedig Merge-gel, tehát fuzionálással oldják fel, és így hoznak létre egy új

© BME-MIT 2015 24.

fuzionálással oldják fel, és így hoznak létre egy új verziót.

� A Merge, bár támogatva van a verziókövető rendszer által, alapvetően mégis emberi döntéseket követel, tehát nem automatikusan történik.

Page 25: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 1;

else

a = 2;

Repository

User 1

Local working copy

if(temp>1)

a = 1;

else

a = 2;

Check out

A Copy–Modify–Merge megközelítésa két fejlesző „check out”-ol

© BME-MIT 2015 25.

User 2

Local working copy

if(temp>1)

a = 1;

else

a = 2;

Page 26: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 1;

else

a = 2;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 2;

A Copy–Modify–Merge megközelítésmindketten módosítanak

© BME-MIT 2015 26.

User 2

Local working copy

if(temp>1)

a = 1;

else

a = 20;

Page 27: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 10;

else

a = 2;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 2;

Commit

A Copy–Modify–Merge megközelítésUser 1 végzett, feltölti a módosításokat

© BME-MIT 2015 27.

User 2

Local working copy

if(temp>1)

a = 1;

else

a = 20;

Page 28: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 10;

else

a = 2;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 2;

A Copy–Modify–Merge megközelítésUser 2 nem tudja feltölteni a módosításokat

© BME-MIT 2015 28.

User 2

Local working copy

if(temp>1)

a = 1;

else

a = 20;

Page 29: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 10;

else

a = 2;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 2;

A Copy–Modify–Merge megközelítésUser 2 frissít az új verzióra

© BME-MIT 2015 29.

User 2

Local working copy

if(temp>1)

a = 1;

else

a = 20;

if(temp>1)

a = 10;

else

a = 2;

Update

Edit conflicts

Page 30: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 10;

else

a = 2;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 2;

A Copy–Modify–Merge megközelítésUser 2 merge-el

© BME-MIT 2015 30.

User 2

Local working copy

if(temp>1)

a = 10;

else

a = 20;

Page 31: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 10;

else

a = 20;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 2;

A Copy–Modify–Merge megközelítésUser 2 feltölti az új verziót

© BME-MIT 2015 31.

User 2

Local working copy

if(temp>1)

a = 10;

else

a = 20;

Page 32: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

if(temp>1)

a = 10;

else

a = 20;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 20;

Update

A Copy–Modify–Merge megközelítésUser 1 Update-el

© BME-MIT 2015 32.

User 2

Local working copy

if(temp>1)

a = 10;

else

a = 20;

Page 33: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

A Copy–Modify–Merge megközelítéselőnyök és hátrányok

� Egyszerre több fejlesztő is dolgozhat ugyanazon a kódon.

� Commit-nél az esetleges konfliktusok kiderülnek.

© BME-MIT 2015 33.

kiderülnek.

� Embernek kell döntenie a konfliktus feloldásáról.

� A verziókövető rendszer nem helyettesíti az emberek közötti kommunikációt.

Page 34: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Melyek azok az esetek, amikor mégis lock-otkell használni?

� Olyan bináris jellegű file-ok esetében, ahol a merge nem megoldható. o Például, hangfile-ok, bináris file-ok

oNYÁK-tervek, kapcsolási rajzok

© BME-MIT 2015 34.

oNYÁK-tervek, kapcsolási rajzok

� Ezért a legtöbb verziókövető rendszerben megtartották a lock funkciót.

Page 35: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Centralizált verziókövető rendszerekSVN, szerver oldal

© BME-MIT 2015 35.

Page 36: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

� Ingyenes SVN kliens (létezik CVS változat is)o http://tortoisesvn.net/

� Windows-ba beépülő

Centralizált verziókövető rendszerekSVN, kliens oldal, TortoiseSVN

© BME-MIT 2015 36.

� Windows-ba beépülő felhasználói felület

Page 37: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Repository

up

da

te

com

mit

Elosztott verziókövető rendszerekDistributed revision control

Developer 1

Repository

up

da

te

com

mit

Developer 2

Developer 3

Push / Pull

© BME-MIT 2015 37.

Working copy

up

da

te

com

mit

Working copy

up

da

te

com

mit

Repository

Working copy

up

da

te

com

mit

Page 38: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Elosztott verziókövető rendszerekelőnyök

� Mindenkinek megvan a saját játszótereo Saját repo-ba tetszőleges update-ek

o A saját repo előzményei logjai könnyen hozzáférhetőek

� Off-line is működiko A centralizált verzióknál állandóan on-line kell lenni és a server is

állandóan elérhető kell, hogy legyen

© BME-MIT 2015 38.

állandóan elérhető kell, hogy legyen

� Gyorso Az alapváltoztatások lokálisan végrehajthatóak

� Kevés menedzsment igényo Nem kell szervert üzemeltetni

� Könnyű branch-elnio Gyakorlatilag minden külön fejlesztő külön branch-et visz

Page 39: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Elosztott verziókövető rendszerekhátrányok

� Backup-ra továbbra is szükség vano A többieknél lévő verzió egy branch-nek tekinthető, tehát nem

egyenértékű a tieddel

� Gyakorlatilag nincs olyan, hogy jelenlegi verzióo Szintén abból ered, hogy mindenki gyakorlatilag független Branch-

et visz

© BME-MIT 2015 39.

et visz

� Nem nagyon léteznek revizió számoko Minden új változásnak általában GUID-ja van, ami nem mutat

folytatólagosságot

Page 40: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Gyakorlatban alkalmazott, elosztott verziókövető rendszerek

1 2

Repository

Szerver

© BME-MIT 2015 40.

Repository

Working copy

up

da

te

com

mitD

eve

lop

er

1

Repository

Working copy

up

da

te

com

mit

De

velo

pe

r

Page 41: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Elosztott verziókövető rendszerekGIT „szerver oldal”

� Gyakorlatilag nincs olyan, hogy szerveroldal, de ha központi tárhelyet akar valaki, akkor Pl: GitHub (26 millió

repo)

© BME-MIT 2015 41.

Page 42: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Elosztott verziókövető rendszerekGIT „kliens olda”

� Gyakorlatilag nincs ilyen sem …

� GitHub for windows

� TortoiseGIT

© BME-MIT 2015 42.

� TortoiseGIT

Page 43: VIMIMA11 Rendszertervezés és –integráció SchererBalázs · Tag 4 9. Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert

Verziószámok kezeléseSemantic Versioning

Major Minor Bug

2 10 3

© BME-MIT 2015 43.

� Major: nagy változtatás. Általában ez olyan funkció / API változtatást jelent, ami inkompatibilis az előző verziókkal.

� Minor: Olyan kisebb funkcionalitás hozzáadása a rendszerhez, ami visszamenőlegesen kompatibilis (backwards-compatible)

� Bug: Visszamenőlegesen kompatibilis (backwards-compatible) hibajavítások.