Code review és continous integration toolok BME-MIT

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

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

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

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

A fordítónak mindenhez lehet

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

Szakdolgozati, TDK témajavaslatok

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

A DevOps-kultúra eszközei

Több app. Egy kódbázis

ANDROID ALKALMAZÁS FEJLESZTÉS

EgroupWare: A csoportmunka megoldás

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

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

Fejlesztői szemmel at K

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

Integral IP Az IP technológia megjelenése a tűzjelzéstechnikában Tűzvédelmi Szakmai Napok Vecsés, június

Zoiper VoIP mobil alkalmazás szoftver beállítása Android rendszerre

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

Programozási technológia 2.

Az informatika alapjai. 10. elıadás. Operációs rendszer

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

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

Dr. Schuster György október 30.

BusEye online személyre szabott utastájékoztató mobil alkalmazás fejlesztése

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

Git verziókezelő. Készítette: Hugyák Tamás. Pannon Egyetem Műszaki Informatikai Kar v1.0

INFOTECHNOLÓGIA I. Operációs rendszer működése, használata

Microsoft SQL Server telepítése

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

SZTE Egyetemi Könyvtár. Bán Attila István - Gál Gyula

Üzleti megoldások professzionális webkonferencia segítségével

Népszámlálás 2011 Internetes adatgyűjtéssel

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

Git verziókezelő. Készítette: Hugyák Tamás. Pannon Egyetem Műszaki Informatikai Kar v1.1

A netfilter csomagszűrő tűzfal

Felhőalkalmazások a. könyvvizsgálatban

Megnevezés Verzió Méret (byte) SHA-1 lenyomat

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

Geotechnika II. (NGB-SE005-2) Geo5 használat

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

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.

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Tartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!

FELÜLVIZSGÁLATI JEGYZŐKÖNYV MELLÉKLETE (I-UNI16F1_ TANF) TANF.ME {.{W... Szoftver utolsó változtatás időpont ja: december 12.

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

Név: Neptun kód: Pontszám:

Állásidő minimalizálása: BTRFS, kgraft

Adatszolgáltatás a Postai Informatikai Rendszer számára. Dr. Nyuli Attila Alkalmazásfejlesztési és Üzemeltetési Osztály

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

Miért jó nekünk kutatóknak a felhő? Kacsuk Péter MTA SZTAKI

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

Módszerek Vizsgálata. Diplomamunka

Virtualizációs technológiák és alkalmazások. Házi feladat. A Virtualbox. készítette: Andrus Tamás

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

OpenOffice.org irodai programcsomag

Procontrol RSC-E2. Kezelői, és telepítői kézikönyv. Ethernet - soros adatkonverter. Verzió:

Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben

Informatika A versenyzők a feladatlapot mindkét kategóriában a II. kategória első fordulójának kivételével csak elektronikus formában kapják meg

INFORMATIKA EGYRE NAGYOBB SZEREPE A KÖNYVELÉSBEN

Fábián Zoltán Hálózatok elmélet

Ismerkedjünk meg a Linuxszal!

Fábián Zoltán Hálózatok elmélet

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

Gyors telepítési kézikönyv

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

VBA makrók aláírása Office XP/2002/2003 esetén

Felhasználói dokumentáció a teljesítményadó állományok letöltéséhez v1.0

JavaScript Web AppBuilder használata

Használati utasítás.

A FileZilla program beállítása az első belépés alkalmával

MimioMobile Felhasználói kézikönyv. mimio.com

Kiszolgálók üzemeltetése. Iványi Péter

Informatika Informatika

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

Összefoglaló az SMS Center által nyújtott szolgáltatásokról

Konfigurációmenedzsment

Programozás alapjai Bevezetés

Köszönetnyilvánítás... xv Bevezetés az otthoni hálózatok használatába... xvii. A könyv jellegzetességei és jelölései... xxi Segítségkérés...

FELÜLVIZSGÁLATI JEGYZŐKÖNYV MELLÉKLETE (I-UNI15F1_ TANF) TANF.ME-01 I-UNI15F1 I ... ~~~?... MATRI tanúsítási igazgató

Procontrol CDP-GDP Ethernet

(Teszt)automatizálás. Bevezető

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

Az AgroFE Nemzetközi Leonardo projekt

AMI KIMARADT AMI KIMARADT

HIK-CONNECT szolgáltatás beállítása

Operációs rendszerek gyakorlat

Bazaar ismertető. Timár András

A SuliX család: Az oktatási és érettségi disztribúciótól a SuliXerverig

SZOFTVEREK (programok)

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

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

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

Oracle Enterprise Manager 12c Cloud Control és 11g Grid Control összehasonlítás

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

Szoftverminőségbiztosítás

Operációs rendszerek gyak.

Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő február 20.

OPENBVE CSOMAGOK KÉSZÍTÉSE

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

Átírás:

és continous integration toolok

Egy (nagy)vállalati környezet Nagy fejlesztőcsapat, sok fejlesztő Rengeteg commit Subversion esetén központi szerver Git esetén elosztottan van mindenkinél egy repó Vagy levelezésben küldik a változtatásokat (l. Linux kernel) Vagy központi szerverre, repóba» Push és pull

A Linux-kernel módszer (részlet kernel levelező listából) This patch is to the rtl8712_cmd.h that fixes up typo error in comment for word "true". Signed-off-by: Punit Vara <punitvara@gmail.com> --- drivers/staging/rtl8712/rtl871x_cmd.h 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8712/rtl871x_cmd.h b/drivers/staging/rtl8712/rtl871x_cmd.h index 2514bfd..f204321 100644 --- a/drivers/staging/rtl8712/rtl871x_cmd.h +++ b/drivers/staging/rtl8712/rtl871x_cmd.h @@ -436,7 +436,7 @@ struct getrfintfs_parm { * mac[0] == 0 * ==> CMD mode, return H2C_SUCCESS. - * The following condition must be ture under CMD mode + * The following condition must be true under CMD mode * mac[1] == mac[4], mac[2] == mac[3], mac[0]=mac[5]= 0;

Linux kernel módszer folyamata (nagy vonalakban) Fejlesztő a helyi fában fejleszt, commitol Kész egy változtatása, megformázza, levélben elküldi a központi levelezőlistára A felelős fejlesztők átnézik, (elsőre többnyire leszólják :-)), majd ha átmegy az ellenőrzésen, beolvasztják a központi fába.

Központi szerver Mindenki lokálisan fejleszti a kódját, összegyűlik elég módosítás, felküldi a központi szerverre (remote) git push A központi módosításokat más módosításait le tudja tölteni git pull vagy git fetch, git rebase

Központi szerver Hátránya: hozzáféréssel bárki bármit átnézetlenül beküldhet Funkcionalitás elromolhat Coding style sértés Legrosszabb esetben le sem fordul Itt is kéne valamilyen review módszer Kódminőség emberi átnézés Automatizált tesztek Fordítási tesztek

Gerrit Nagyvállalatban népszerű code review eszköz Google fejleszti, Androidnál alapvetően ezt használják Szerepei: Kód áttekintés Központi repó kezelése Commit gyűjtőhely Fejlesztői véleményezés CI toolokkal kapcsolat

Gerrit Forrás: Gerrit dokumentáció

Gerrit Fejlesztő távoli repositoryként látja a gerrit-et, push-sal beküldi a változást Ez bekerül az átmeneti területre, de a többiek nem tudják (közvetlenül) letölteni nincs beolvasztva A többi felhasználó az online felületen átnézi, szavazhat róla (jó minőségű és fordul) +2 review-ban és +1 fordításban rendben van, bemehet -2 review-ban: vétó, ez semmiképpen sem mehet be Egy változtatás akkor mehet be, ha mindkettő kategóriában a legmagasabb szavazatot (+2,+1) kapja

Példa Egy projekt Három felhasználó bela, kebab: commit es review jogokkal wachag: verify jogokkal most még nem használjuk Projekt hasonlóan klónozható, mint Github esetén Csak a központi repó most a helyi Gerrit szerver lesz Git push helyett mert push-hoz nincs joguk csak review

Hiányosságok Van, amit a fejlesztő kipróbálás nélkül nem vesz észre Lefordul-e? Helyesen működik? automatizált tesztek

Continous Integration Jenkins CI tool Job kezelés Automatizált fordítás vagy teszt» Időzítve, vagy repóba töltéskor» Kézzel futtathatóan Különféle külső események (commit, vagy kézi indítás) hatására indítható: Windows batch fájl Linux shell script Maven build Vagy egyéb eszköz a Jenkins pluginezhető

Jenkins Példa Az előző példában megmutatott projekthez melyet Gerrit segítségével kezelünk automatikus build verify-t teszünk hozzá Gerrit oldalról szükséges egy olyan felhasználó, aki olvasni tudja a repót és verify-olhat Jenkins oldalról Gerrit-támogatás konfigurálása Gerrit trigger plugin Build lépések konfigurálása