Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, Bratislava 4 Askalot meets Harvard Cou

Podobné dokumenty
Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Iľkovičova 2, , Bratislava 4 Metodika verziovania Tím

Metodika práce s gitom Spôsob práce s gitom V projekte sa budú udržovať dve hlavné vetvy: - Master - Hlavná vetva, ktorá odráža otestovaný funkčný kód

Princípy tvorby softvéru GIT a iné užitocné veci

Prístup a Nastavenie pre KOMPAKT HOSTING

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Zápisnica zo stretnutia #4 Tím sixpack Bc. Jozef Blažíček B

Snímka 1

Balíčkovanie FreeSWITCH-u pre Debian Autor: Zdenko Holeša, InžProjekt 1, KIS FRI ŽU Predkompilované balíčky Predkompilované balíčky existujú pre Debia

Používateľská príručka Obsah Používateľská príručka... 1 Administrácia servera... 2 FTP... 2 Remote Desktop... 3 Administrácia databáze:... 3 Spusteni

Finančné riaditeľstvo Slovenskej republiky 10/ORP/2019/IM Stiahnutie identifikačných a autentifikačných údajov pri ORP - rola Administrátor Informácia

Finančné riaditeľstvo Slovenskej republiky 9/ORP/2019/IM Stiahnutie identifikačných a autentifikačných údajov pri ORP - rola Administrátor/Technik Inf

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Metodika archivácie verzií HW Tímový projekt Stratos FIIT M

MANUAL_PRE_UVODNU_PRACU_S_AIS

Microsoft Word - Manažment_tagov_tim24_tema12_2017.docx

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné pr

SAEAUT SNMP OPC Server

NSK Karta PDF

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, , Bratislava 4 Deep Search Dokumentácia

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, , Bratislava 4 Deep Search Metodiky výv

Objektovo orientované programovanie

Sablona prispevky MSI

CitiManager - Migration Quick Reference Guide for Cardholders_Slovak_fin

Návod na obsluhu CompactIO 1

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, , Bratislava 4 Internet vecí v našich ž

PowerPoint Presentation

Používateľská príručka POUŽÍVATEĽSKÁ PRÍRUČKA Generátor XML dávok pre Informačný systém kontrolných známok z MS Excel šablóny Dátum: Verzia

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, Bratislava 4 Používateľská príručka Vi

eKasa

Evidencia elektronickej prihlky

Microsoft Word - pouzivatelska_prirucka.doc

Snímka 1

NSK Karta PDF

Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1

Microsoft Word - o06_Príručka k inštalácii a registrácii OverKupon_v4.doc

Rozdeľovanie IT zákaziek UX Peter Kulich

Microsoft Word - prirucka_katedry_nova

Manuál pre nastavenie tlače z VRP Bluetooth, USB tlačiarne Bluetooth, USB tlačiarne Manuál pre nastavenie tlače -1-

VSDC Free Video Editor stručný návod na používanie Link na sťahovanie softvéru: K prog

ADBEE_System_pre_pozicovne_Datasheet copy

Kamera Sieťová klenbová kamera Rýchla používateľská príručka---po slovensky Táto rýchla príručka sa vzťahuje na: DS-2CD4112F-(I), DS-2CD4124F-(I), DS-

Smernica č. 88 /2010 Žilinský samosprávny kraj str. 1 Úplne znenie S m e r n i c e Úradu Žilinského samosprávneho kraja č. 88/2010 o postupe pri vznik

Georeceive a Geoshopping

Manuál pre nastavenie tlače z VRP tlačiarní bluetooth Bluetooth Manuál pre nastavenie tlače z VRP tlačiarní -1-

(Microsoft Word - Registr\341cia \372\350tu Hik-Connect.docx)

Spustenie skonvertovanej C-Image zálohy v MS Virtual PC

Snímka 1

PowerPoint Presentation

2

Rýchly štart pre Powerline extra zásuvka

Kategória školenia Kurzy Project, Outlook obsahuje kurzy: Outlook základy Účastníci kurzu Outlook základy sa naučia využívať tento program na ov

Nová éra Microsoft Dynamics 365 v IT spoločnosti GAMO Vďaka dodanému riešeniu sme pomohli zlepšiť fungovanie kľúčových oblastí

Detail správy a súvisiace prvky Dátum zverejnenia: Verzia: 5 Dátum aktualizácie: Detail správy a súvisiace prvky UPOZORNENIE

Microsoft PowerPoint - CONNECT_R&A_76_sk

SK01-KA O1 Analýza potrieb Zhrnutie BCIME tím Vyhlásenie: "Podpora Európskej komisie pre výrobu tejto publikácie nepredstavuje súhlas

RIMI-NABDA, s.r.o. Zabezpečovací systém SecoLink RIMI NABDA, spol. s r.o. ul. Z. Kodálya 1421/ Sládkovičovo IČO: , DIČ:SK O

Smernica rektora číslo 6/2015-SR Pravidlá udeľovania ocenenia Cena rektora Slovenskej technickej univerzity v Bratislave Dátum:

SPRINT 2

fm 2012 a predajňa.doc

Sprievodný list SofCom s.r.o., Priemyselná 1, Liptovský Mikuláš Program basic.sk Verzia ( ) Dátum Autor Ing. J. Malíče

03_ControlFlow.dvi

enum

Matej Kendera - PDF, word, lucene, java

Sprievodný list SofComs.r.o., Priemyselná 1, Liptovský Mikuláš Program basic.sk Verzia ( ) Dátum Autor Ing. J. Malíček

dFlex Nitra spol. s r.o.

Slovenská Technická Univerzita v Bratislave Fakulta Informatiky a Informačných Technológií Monitorovanie a vyhodnocovanie fyziologických procesov člov

Komplexný informa ný a monitorovací systém Monitorovanie biotopov a druhov európskeho významu Používate ská dokumentácia KIMS modul Mobilná aplikácia

Podvojné účtovníctvo, fakturácia a sklad ekasa: štandardný predaj priamo z programu Pri predaji s priamym napojením na softvér je potrebné mať online

Slide 1

EduVirutal (Tím číslo 4) Metodiky projektu Roly členov tímu, zodpovednosti: Koník Kristián Manažérske úlohy: Kontrola stavu systému na správu verzií (

Vlastná Vlastná tvorba tvorba Neobmedzene Neobmedzene Voľný Voľný obsah obsah my website Kdekoľvek Kdekoľvek na na internet internet Jednoduché Jednod

Obsah Pokyny pre ovládanie pomocou smartfónu... 3 Stiahnutie a inštalácia aplikácie... 3 Konfigurácia Originálna konfigurácia Postup k

PowerPoint-Präsentation

Manuál uchádzača ezakazky Manuál uchádzača Dátum vytvorenia dokumentu: Verzia: Autori slovenský Matej Marcin, Stanislava Marošiová Te

Testovacie scenáre Verzia : 1.3 Dátum vydania : Zodpovedný : Michal Palatinus 1. NÁSTROJ NA AUTOMATIZOVANÉ TESTOVANIE Na zabezpečenie autom

seminarna_rocnikova_a_bakalárska práca

Jednotný európsky dokument pre obstarávanie (JED) Časť I: Informácie týkajúce sa postupu verejného obstarávania a verejného obstarávateľa alebo obstar

IP telefónia. Návrh AsÚ SAV

Microsoft Word - ESD_-_DA_-_MA_-_Ucastnicka_verzia_video_V_3.docx

PosAm Servio

Microsoft Word - Fabik - esej2011_18-is-xfabik.doc

Používateľský manuál EZP

Prihlásenie sa do systému AIS2 Pomôcka pre študentov Odoslanie záverečnej práce cez AiS2 Spustite si internetový prehliadač a do riadku s adresou napí

Microsoft Word - pravidla-prevadzky-siete-stunet

2

O D V O D N E N I E

Riesenie_zasielkovna

Návod na vytvorenie kvalifikovaného elektronického podpisu prostredníctvom občianskeho preukazu s čipom Dátum zverejnenia: Verzia: 1 Dátu

RADELA s

Úrad Slovenskej akadémie vied Dodatok č. 6 K ORGANIZAČNÉMU PORIADKU Úradu Slovenskej akadémie vied 2014 štefánikova 49, Bratislava, Slovenská r

iot business hub whitepaper isdd_em_New.pdf

Používateľská príručka elektronických služieb pre žiadateľov o štatistické informácie október 2016

Komunikácia deklarantských SW s IS CEP Bratislava OPIS je spolufinancovaný z ERDF

Manual k podavaniu ziadosti

Manuál aplikácie eoev

Registrácia používateľa Portálu finančnej správy -1/18-

Privátna zóna pre prevádzku Obsah Privátna zóna pre prevádzku 1 Obsah 1 Webová stránka 2 Úvodná stránka 2 Registrácia prevádzka/penzión

Prepis:

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, 842 16 Bratislava 4 Askalot meets Harvard Courses at edx Tím: číslo 6, AskEd Vedúci tímu: Ing. Ivan Srba Členovia tímu: Černák Martin, Gallay Ladislav, Hnilicová Eva, Huňa Adrián, Jandura Filip, Žuffa Tibor Akademický rok: 2015/2016 Autor: Ladislav Gallay Verzia číslo: 5 Dátum poslednej zmeny: 12.12.2015

Úvod Cieľom tejto metodiky je definovanie základných pojmov a postupov pri manažovaní zdrojového kódu a verzií projektu. Metodika presne definuje prácu s nástrojmi na správu revízií zdrojového kódu, konvencie pre odovzdávanie a vetvenie zdrojového kódu a riešenie konfliktov. Metodika opisuje prácu s nástrojom Git a službou GitHub. Metodika je určená, pre každého člena tímu, ktorý potrebuje pristupovať k zdrojovému kódu a pracovať s ním, najmä však pre vývojárov. Metodika vychádza z klasických prístupov k manažmentu zdrojového kódu rovnako ako aj z prístupov používaných pri populárnych projektoch s otvoreným zdrojovým kódom. Jednotlivé postupy sú uvedené v chronologickom poradí v akom ich programátor pri vývoji spravidla použije, t.j. od inicializácie repozitára, cez odovzdávanie zdrojového kódu a pridávanie funkcionality, až po opravu chýb v softvéri. 1

1. Použité skratky a značky RCS ITS Git GitHub Repozitár Odovzdanie Vetva Feature Systém na správu revízií (angl. revision control system) zdrojového kódu a iných dokumentov a súborov projektu Systém na sledovanie úloh (angl. issue tracking system) v rámci projektu Distribuovaný systém na správu revízií zdrojového kódu Služba a sociálna sieť na zdieľanie a vývoj zdrojového kódu využívajúca Git Repozitár (angl. repository). Úložisko zdrojového kódu a iných dokumentov a súborov projektu v rámci systému na správu revízií. Rozlišujeme vzdialené (na serveri) a lokálne repozitáre Odovzdanie (angl. commit) je množina zmien v súboroch projektu v určitom čase podpísaná autorom. Vetva (angl. branch) je postupnosť odovzdaní. Vetvenie umožňuje spravovať súbory v jednej vetvy repozitáru nezávisle od iných vetiev Funkcionalita, ktorá je podporená používateľským príbehom 2

2. Postupy 2.1. Nastavenie nástroja Git a prepojenia so službou GitHub Predpokladá sa nainštalovaný nástroj Git a vytvorený účet v sieti Github. Používateľské meno v sieti GitHub sa odporúča zadať v tvare [iniciála mena][priezvisko] alebo [meno][priezvisko] (s malými písmenami), napr. lgallay alebo ladislavgallay. Pokiaľ už používateľ má existujúci účet, nie je potrebné meniť jeho názov alebo vytvárať nový. Postup: 1. Nastaviť používateľské meno a e mail v nástroji Git. Používateľské meno musí byť v tvare [Meno] [Priezvisko] (s diakritikou), napr. Ladislav Gallay alebo Tibor Žuffa. Používateľké meno sa dá nastaviť iba pre konkrétny repozitár bez použitia prepínaša global. git config global user.name "username" git config global user.email "user@example.com" 2. Nastaviť rovnaký primárny e mail účtu v sieti GitHub ako bol nastavený v nástroji Git. 3. Vygenerovať SReEESH kľúč a priradiť ho k účtu v sieti GitHub. ssh keygen t rsa C "user@example.com" Otvoriť vygenerovaný súbor id_rsa.pub a skopírovať obsah medzi kľúče SSH účtu v sieti GitHub a potvrdiť pridanie kľúča. 4. Pridať fotku k účtu v sieti GitHub pomocou služby Gravatar. 5. Požiadať správcu organizácie v sieti GitHub o členstvo (platí iba v prípade ak má tím vytvorenú organizáciu). 6. Informovať správcu vzdialených repozitárov o úspešnom nastavení a požiadať o pridelenie práv na odovzdávanie zdrojového kódu. 2.2. Inicializácia vzdialeného repozitára Najskôr sa vytvorí nový lokálny repozitár a následne sa vykoná prvé odovzdanie do vzdialeného repozitára v rámci služby GitHub. Názov repozitára musí byť malými písmenami a ako oddeľovač sa smie použiť iba krátka pomlčka, napr. project site. Postup: 1. Vytvoriť vzdialený repozitár projektu službou GitHub. Pri tvorbe repozitáru cez rozhranie služby nepridať automaticky žiadne súbory ani nevykonať žiadne odovzdanie. Výstupom tohto procesu sú aktívne HTTPS a SSH adresy vzdialeného repozitáru, napr.: https://github.com/username/project.git git@github.com:username/project.git 2. Vytvoriť lokálny repozitár projektu v novom adresári: mkdir project cd project git init 3. Vytvoriť súbor.gitignore. Obsah súboru musí aspoň základne pokrývať potreby projektu vzhľadom na použitý programovací jazyk, knižnice alebo aplikačné rámce. 4. Vytvoriť súbor README.md, so základnými informáciami o projekte. 3

5. Vytvoriť súbor LICENSE.md, ktorý obsahuje text MIT licencie. 6. Vykonať prvé odovzdanie so správou Initial commit : git add. git commit m "Initial commit" 7. Pridať referenciu na vzdialený repozitár projektu. git remote add origin git@github.com:username/project.git 8. Odovzdať vykonané zmeny do vzdialeného repozitára projektu. git push origin branch feature kde branch feature je názov vetvy. 9. V sieti GitHub prideliť práva členom tímu na odovzdávanie zdrojového kódu a podľa potreby informovať členov tímu o vzniku repozitára. 2.3. Inicializácia lokálneho repozitára Inicializácia lokálneho repozitára na základe existujúceho vzdialeného repozitára sa vykonáva príkazom: git clone git@github.com:username/project.git 2.4. Pravidlá pre odovzdávanie zdrojového kódu Je žiadúce aby odovzdania mali jemnú granularitu zmien a zároveň aby zmeny v odovzdaní medzi sebou logicky súviseli. Pre správu odovzdania (angl. commit message) platí: píše sa v angličtine, prvé písmeno je vždy veľké, na konci správy nie je bodka, správa začína slovesom v prítomnom jednoduchom čase, ktoré opisuje typ danej zmeny, napríklad Add, Edit, Fix, Change, Rename, Remove, Update, Refactor, Implement, Resolve, Close. na delenie správy na menšie časti sa používa čiarka (správa nesmie obsahovať žiadnu inú interpunkciu), má maximálne 50 znakov, skratky sa píšu korektne (nepísať xml, ani Xml ale správne XML ). V kontexte jazyka Ruby pre správu odovzdania ďalej platí: názvy modulov a tried sa píšu iba v tvare XmlParser alebo XML Parser, neuvádza sa menný priestor modulov alebo tried (nepísať Core::XmlParser ). V kontexte ITS pre správu odovzdania ďalej platí: má tvar [akcia nad stavom úlohy] #[identifikátor úlohy] [zvyšok správy], akcia nad stavom úlohy v ITS a je buď Fix, Implement, Resolve alebo Close, referencia na úlohu v ITS sa uvádza v tvare #[identifikátor úlohy]. Príklady správ odovzdania: Disable user registration via email Refactor user model, fix user helpers Add XmlParser, XmlNode and XmlHelpers Update XML library, add XML Parser 4

Fix #31 correct URL to documents 2.5. Pravidlá pre vetvenie zdrojového kódu Pre názov vetvy platí: píše sa v angličtine, obsahuje iba malé písmená, používa krátku pomlčku ako oddeľovač slov (neobsahuje žiadnu inú interpunkciu), je stručný a presný. V rámci hlavného repozitára projektu, v ktorom je aplikácia dodávaná zákazníkovi. Rozlišujeme tieto vetvy: Produkčná vetva (angl. production branch), je distribuovaná zákazníkovi a obsahuje funkcionalitu schválenú zákazníkom. Názov vetvy je master. Testovacia vetva (angl. staging branch), obsahuje novú a otestovanú funkcionalitu pripravenú na schválenie zákazníkom. Vetva sa spája s produkčnou vetvou a do nej sa spája aktuálna vývojová vetva. Názov vetvy je staging. Vetvy pre novú funkcionalitu (angl. feature branch), v každej sa implementuje práve jedna nová funkcionalita podporená používateľským príbehom. Názvy vetiev majú sufix feature, napr. user authorization feature. Vetvy pre opravy chýb (angl. bug fix branch), v každej sa implementuje oprava práve jednej chyby nahlásenej v systéme ITS. Názvy vetiev majú sufix bug, napr. login bypass bug. Ostatné vetvy sú spravidla tie, v ktorých prebieha migrácia na nové verzie použitých technológií alebo refaktorovanie zdrojového kódu. Obr. 1: Príklad vývoju vetiev repozitáru v čase. 5

Na diagrame vyobrazenom na Obr. 1. je načrtnutý vývoj vetiev repozitáru s projektom v čase. Z nadradenej vetvy sa do vlastnej vetvy používa príkaz rebase a do nadradenej príkaz merge. 2.6. Pravidlá pre riešenie konfliktov Ak nastane konflikt v paralelne editovaných súboroch pri spájaní vetiev, tak platí, že: pred nasledujúcim odovzdaním dotknutých súborov musia byť všetky konflikty vyriešené, sa riešením konfliktov nesmie narušiť existujúca funkcionalita softvéru. 2.7. Pridanie novej funkcionality podporenej používateľským príbehom Pridanie novej funkcionality predpokladá existenciu zodpovedajúcej úlohy v ITS. Postup: 1. Vytvoriť novú lokálnu vetvu s funkcionalitou. git checkout b new feature 2. Ak už bola vetva s funkcionalitou nahraná do vzdialeného repozitára je potrebné vykonať aktualizovanie lokálneho zdrojového kódu: git pull rebase origin new feature 3. Ak pribudli odovzdania do príslušnej vývojovej vetvy je potrebné aktualizovať vetvu s funkcionalitou o tieto odovzdania: git rebase gama 4. Implementovať novú funkcionalitu, po častiach lokálne odovzdávať zdrojový kód a podľa potreby sa vracať ku krokom číslo 2 a 3. 5. Lokálne skontrolovať odovzdaný zdrojový kód, skontrolovať a spustiť testy. 6. Nahrať zdrojový kód vetvy s funkcionalitou do vzdialeného repozitára. git push origin new feature 7. Požiadať poverenú osobu o prehliadku zdrojového kódu. Ak poverená osoba implementáciu akceptuje, tak sa pokračuje krokom číslo 8, inak poverená osoba určí čo treba opraviť a pokračuje sa krokom číslo 2. 8. Spojiť vetvu s príslušnou vývojovou vetvou. git checkout gama git merge new feature 9. Vyriešiť konflikty, ak nastali. 10. Nahrať zdrojový kód príslušnej vývojovej vetvy do vzdialeného repozitára. git push origin gama 11. Požiadať poverenú osobu o spojenie vetvy s testovacou vetvou. 2.8. Riešenie kritických úloh pre produkčnú vetvu Riešenie rýchlej opravy funkcionality alebo iného vážneho problému v produkčnej vetve smie vykonávať iba poverená osoba pričom sa predpokladá existencia zodpovedajúcej úlohy v ITS. Postup: 1. Vytvoriť novú lokálnu vetvu s opravou z produkčnej vetvy. git checkout master git pull origin master git branch new bug 2. Implementovať opravu a po častiach lokálne odovzdávať zdrojový kód. 6

3. Lokálne skontrolovať odovzdaný zdrojový kód, skontrolovať a spustiť testy. 4. Nahrať zdrojový kód vetvy s opravou do vzdialeného repozitára. git push origin new bug 5. Spojiť vetvu s produkčnou vetvou a príslušnou vývojovou vetvou. git checkout master git merge new bug git checkout gama git merge new bug 6. Vyriešiť konflikty, ak nastali (predpokladajú sa konflikty s príslušnou vývojovou vetvou). 7. Nahrať zdrojový kód produkčnej vetvy a príslušnej vývojovej vetvy do vzdialeného repozitára. git push origin master git push origin gama 8. Požiadať poverenú osobu o nasadenie produkčnej vetvy do prevádzky 2.9. Prehliadka zdrojového kódu Kontrolu kvality kódu je nutné vykonať pri každom odovzdaní kódu vývojara zo svojej súkromnej vetvy do jednej zo spoločných vetiev, napríklad po každej ukončenej úlohe, ktorá v plnej miere plní svoju funkcionalitu. Pri prehliadaní zdrojového kódu používame funkciu porovnania vetiev v sytéme GitHub. Programátor nahrá zdrojový kód do vzdialeného repozitára v systéme GitHub a v ITS zmení zodpovednú osobu na člena tímu, ktorý má vykonať prehliadku zdrojového kódu. V systéme GitHub sa vytvorí pull request zo svojej vetvy do požadovanej vetvy ( master, staging, gama, prípadne iná nadradená vetva). Do komentára sa uvedie stručný zoznam zmien a ak je to nutné aj ich odôvodnenie. V opise sa musí nachádzať odkaz na úlohu v ITS, pokiaľ takáto úloha existuje. Spravidla sa do hlavnej vetvy master nikdy neposúvajú zmeny priamo z programátorskej vetvy. Kód by mal ísť najprv do jednej z testovacích vetiev a až odtiaľ môže byť postúpený ďalej do hlavnej vývojovej vetvy. To neplatí pre urgentné zmeny, ako napríklad opravy v zabezpečení systému a opravy iných dôležitých chýb. Osoba vykonávajúca prehliadku zistené nedostatky v zdrojovom kóde komunikuje autorovi podľa Metodiky pre komunikáciu. Po dokončení prehliadky zdrojového kódu sa v ITS zaznačia prípadné zmeny vo funkcionalite. V prípade závažného nedostatku, ktorý by sa mohol objaviť aj u ďalších tvorcov zdrojového kódu, sú členovia tímu okamžite upozornení podľa platných princípov komunikácie v tíme. 7