Konfigurációmenedzsment

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

A FEJLESZTÉS KIHÍVÁSAI

Verziókövetés és a Subversion. használata

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

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

Bazaar ismertető. Timár András

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

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

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

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

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

A fordítónak mindenhez lehet

OOP és UML Áttekintés

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

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

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

Programozási technológia 2.

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

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

Code review és continous integration toolok BME-MIT

A Java EE 5 plattform

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

GDi Esri Magyarország Felhasználói Konferencia Timár Gábor: Konkurens adatfeldolgozás ArcGIS rendszerben

Komponens alapú fejlesztés

Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 5. óra. Kocsis Gergely, Supák Zoltán

WebCenter. Online jóváhagyás és együttműködés. Gönczi Zsolt Október

KnowledgeTree dokumentumkezelő rendszer

DSI működésre. tervezve. Hogyan fog kinézni a jövő informatikai infrastruktúrája? Egész szoftverrendszerek egy

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

OE-NIK 2010/11 ősz OE-NIK ősz

Java I. A Java programozási nyelv

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Kalumet Számlázó. Termék leírás

2023 ban visszakeresné 2002 es leveleit? l Barracuda Message Archiver. Tóth Imre Kereskedelmi Igazgató Avisys Kft Barracuda Certified Diamond Partner

Miről lesz szó? Setup Project készítése. Tulajdonságok. 1. Készítsünk egy setup project alkalmazást egy már elkészített, lefordított programhoz.

Xpandrive virtuális storage rendszer

Tipikus időbeli internetezői profilok nagyméretű webes naplóállományok alapján

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Silabs STK3700, Simplicity Studio laborgyakorlat

Szakdolgozati, TDK témajavaslatok

BAKERY 1.0 Sütőipari vállalatirányítási rendszer

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

VMware. technológiával. ADATMENTÉS VMware környezetben IBM Tivoli eszközökkel

Új technológiák az Ubuntuban. Új fejlesztések Amik egy éven belül jelenhetnek meg az Ubuntuban

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

Miért érdemes váltani, mikor ezeket más szoftverek is tudják?

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

A TANTÁRGY ADATLAPJA

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

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

SC Kérdés. SC Kérdés. SC Kérdés

ARM Cortex magú mikrovezérlők. mbed

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

MVC. Model View Controller

Web-fejlesztés NGM_IN002_1

Novell Nterprise Branch Office: a távoli iroda felügyeletének leegyszerűsítése

Cisco Catalyst 3500XL switch segédlet

Szoftverminőségbiztosítás

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS

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

AMI KIMARADT AMI KIMARADT

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

Rendszermodellezés: házi feladat bemutatás

Rendszerkezelési útmutató

ELTE SAP Excellence Center Oktatóanyag 1

Non-stop hozzáférés az üzleti információkhoz bárhol, bármikor és bármilyen eszközzel

Oktatási cloud használata

Git verziókövető rendszer alkalmazása

Telepítési Kézikönyv

Kinek szól a könyv? Hogyan épül fel a könyv? Megjelenés előtti szoftver A hálózati kézikönyv tartalma A könyv támogatása Kérdések és megjegyzések

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

Tájékoztató az 1.10-es labor használatához

Mikrotik 6.22 telepítés

TANÚSÍTVÁNY. tanúsítja, hogy a E-Group Magyarország Rt. által kifejlesztett és forgalmazott. Signed Document expert (SDX) Professional 1.

CCS Hungary, 2000 szeptember. Handling rendszer technikai specifikáció

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

OTRS bevezetése és tapasztalatok a DF-ISZK-n

Biztonságos mobilalkalmazás-fejlesztés a gyakorlatban. A CryptTalk fejlesztése során alkalmazott módszerek. Dr. Barabás Péter Arenim Technologies

STANDARD DEVELOPMENT U.L. FACTORY SYSTEMS GROUP IT DEPARTMENT

vezeték nélküli Turi János Mérnök tanácsadó Cisco Systems Magyarország Kft.

(Teszt)automatizálás. Bevezető

FortiClient VPN-IPSec kliens konfigurációs segédlet

Visual Studio 2012 és MSDN. Csomagok és licencelés

Egy egyszerű, gyors és szabad újratelepítő eszköz: upi

Az internet ökoszisztémája és evolúciója. Gyakorlat 1

DSD DSD. Egy országos méretű orvosi adatbázissal kapcsolatos informatikai kihívások. Kovács László Pataki Balázs Pataki Máté MTA SZTAKI DSD

Folyamatok rugalmas irányítása. FourCorm Kft.

Summer of LabVIEW The Sunny Side of System Design

A DevOps-kultúra eszközei

Verziókezelt konfigurációmanagement++ Pásztor György, SZTE Klebelsberg Könyvtár

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

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

Microsoft SQL Server telepítése

Szolgáltatási szint megállapodás

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network

Nagyvállalati Linux üzemeltetés Horváth Gábor Kálmán

Átírás:

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

Az alapprobléma Komponens 1 v1.0 v1.1 v1.2 V2.0 Kon nfigurációs komponensek Komponens 2 Komponens 3 v1.0 v1.3 V2.1 v1.0 v1.1 v1.3 V1.6 V2.0 idő idő idő Konfigurációs egység Konfigurációs egység 1 Konfigurációs egység 2 v1.0 v1.0 V2.1 v1.0 V1.6 v1.2 idő BME-MIT 2015 2.

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. Releasekibocsájtása (Create or Release Baselines) 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ó loggokkészítése (Establish Configuration Management Records) o SP 3.2: Konfigurációs auditok megrendezése (Perform Configuration Audits) BME-MIT 2015 3.

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 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. BME-MIT 2015 4.

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 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 BME-MIT 2015 5.

Példa tipikus konfigurációs életciklusra Branch Trunk 2 5 7 11 Branch merge Megszakított oldalág 1 3 6 8 10 12 Tag 4 9 BME-MIT 2015 6.

Konfiguráció menedzsment eszközei Egyszerűbb esetekben tipikusan valamilyen verziókövető rendszert használnak BME-MIT 2015 7.

Verziókövető rendszerek Az 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 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 BME-MIT 2015 8.

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.

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. 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 changefile-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. BME-MIT 2015 10.

Centralizált verziókövető rendszerek Alaptulajdonsá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ántart o minden egyes file-on létrehozott változást, o a könyvtárstruktúrát érintő minden változást. A felhasználónak lehetősége van o 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é BME-MIT 2015 11.

Centralizált verziókövető rendszerek Alapfogalmak (raktár): Központi nyilvántartása az adatoknak vagy projectnek (a master copy). Client: Felhasználó, aki dolgozni kíván a projecten. Working copy: Egy Client által a projectből létrehozott munkaváltozat, amit szabadon változtathat. BME-MIT 2015 12.

Centralizált verziókövető rendszerek Működési alapok Olvas (Check out) Visszaír (Commit) Client 1 Client 2 Client 3 BME-MIT 2015 13.

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 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). BME-MIT 2015 14.

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.

Lock Modify Unlock megközelítés Lock User 1 Local copy User 2 Local copy BME-MIT 2015 16.

Lock Modify Unlock megközelítés Read User 1 Local copy User 2 Local copy BME-MIT 2015 17.

Lock Modify Unlock megközelítés User 1 Local copy a = 3; User 2 Local copy BME-MIT 2015 18.

Lock Modify Unlock megközelítés a = 3; Write User 1 Local copy a = 3; User 2 Local copy BME-MIT 2015 19.

Lock Modify Unlock megközelítés a = 3; Unlock User 1 Local copy a = 3; User 2 Local copy BME-MIT 2015 20.

Lock Modify Unlock megközelítés a = 3; User 1 Local copy a = 3; User 2 Local copy BME-MIT 2015 21.

Lock Modify Unlock megközelítés a = 3; User 1 Local copy a = 3; User 2 Local copy a = 3; BME-MIT 2015 22.

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 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. BME-MIT 2015 23.

A Copy Modify Merge megközelítés Egyszerre több fejlesztő is ki check out -olhatja ugyanazt, mindenki a saját Working copy-ját használja. Working copy: A (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 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. BME-MIT 2015 24.

A Copy Modify Merge megközelítés a két fejlesző check out -ol User 1 Local working copy Check out User 2 Local working copy BME-MIT 2015 25.

A Copy Modify Merge megközelítés mindketten módosítanak User 1 Local working copy a = 10; User 2 Local working copy a = 20; BME-MIT 2015 26.

A Copy Modify Merge megközelítés User 1 végzett, feltölti a módosításokat a = 10; Commit User 1 Local working copy a = 10; User 2 Local working copy a = 20; BME-MIT 2015 27.

A Copy Modify Merge megközelítés User 2 nem tudja feltölteni a módosításokat User 1 Local working copy a = 10; a = 10; User 2 Local working copy a = 20; BME-MIT 2015 28.

A Copy Modify Merge megközelítés User 2 frissít az új verzióra User 1 Local working copy a = 10; a = 10; Update Edit conflicts User 2 Local working copy a = 10; a = 20; BME-MIT 2015 29.

A Copy Modify Merge megközelítés User 2 merge-el User 1 Local working copy a = 10; a = 10; User 2 Local working copy a = 10; a = 20; BME-MIT 2015 30.

A Copy Modify Merge megközelítés User 2 feltölti az új verziót User 1 Local working copy a = 10; a = 20; a = 10; User 2 Local working copy a = 10; a = 20; BME-MIT 2015 31.

A Copy Modify Merge megközelítés User 1 Update-el User 1 Local working copy a = 10; a = 20; Update a = 10; a = 20; User 2 Local working copy a = 10; a = 20; BME-MIT 2015 32.

A Copy Modify Merge megközelítés előnyök és hátrányok Egyszerre több fejlesztő is dolgozhat ugyanazon a kódon. Commit-nél az esetleges konfliktusok 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. BME-MIT 2015 33.

Melyek azok az esetek, amikor mégis lock-ot kell 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 o NYÁK-tervek, kapcsolási rajzok Ezért a legtöbb verziókövető rendszerben megtartották a lock funkciót. BME-MIT 2015 34.

Centralizált verziókövető rendszerek SVN, szerver oldal BME-MIT 2015 35.

Centralizált verziókövető rendszerek SVN, kliens oldal, TortoiseSVN Ingyenes SVN kliens (létezik CVS változat is) o http://tortoisesvn.net/ Windows-ba beépülő felhasználói felület BME-MIT 2015 36.

Elosztott verziókövető rendszerek Distributed revision control Developer 1 Push/ Pull Developer 2 up pdate co ommit Developer 3 up pdate co ommit Working copy Working copy update commit Working copy BME-MIT 2015 37.

Elosztott verziókövető rendszerek előnyök Mindenkinek megvan a saját játszótere o 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ödik o A centralizált verzióknál állandóan on-line kell lenni és a server is állandóan elérhető kell, hogy legyen Gyors o Az alapváltoztatások lokálisan végrehajthatóak Kevés menedzsment igény o Nem kell szervert üzemeltetni Könnyű branch-elni o Gyakorlatilag minden külön fejlesztő külön branch-et visz BME-MIT 2015 38.

Elosztott verziókövető rendszerek hátrányok Backup-ra továbbra is szükség van o 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 Nem nagyon léteznek revizió számok o Minden új változásnak általában GUID-ja van, ami nem mutat folytatólagosságot BME-MIT 2015 39.

Gyakorlatban alkalmazott, elosztott verziókövető rendszerek Szerver Developer 1 2 Developer update commit update commit Working copy Working copy BME-MIT 2015 40.

Elosztott verziókövető rendszerek GIT 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.

Elosztott verziókövető rendszerek GIT kliens olda Gyakorlatilag nincs ilyen sem GitHub for windows TortoiseGIT BME-MIT 2015 42.

Verziószámok kezelése Semantic Versioning 2 10 3 Major Minor Bug 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 (backwardscompatible) hibajavítások. BME-MIT 2015 43.