abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:44 | Komunita

    Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Ken Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.

    Fluttershy, yay! | Komentářů: 0
    27.6. 11:55 | IT novinky

    Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.

    Ladislav Hagara | Komentářů: 25
    27.6. 10:55 | Zajímavý projekt

    Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].

    Ladislav Hagara | Komentářů: 4
    27.6. 01:33 | IT novinky

    Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.

    Ladislav Hagara | Komentářů: 1
    27.6. 01:22 | Nová verze

    Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    27.6. 01:11 | Nová verze

    Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.

    Fluttershy, yay! | Komentářů: 0
    26.6. 21:11 | Nová verze Ladislav Hagara | Komentářů: 0
    26.6. 13:11 | IT novinky

    Město Lyon posiluje svou digitální suverenitu a postupně nahrazuje software od společnosti Microsoft bezplatnými alternativami, zejména OnlyOffice pro kancelářské aplikace a Linux a PostgreSQL pro systémy a databáze.

    Ladislav Hagara | Komentářů: 9
    26.6. 11:44 | Zajímavý projekt

    Evropská občanská iniciativa Stop Destroying Videogames se snaží o to, aby vydavatelé, kteří spotřebitelům v Evropské unii prodávají videohry nebo na ně udělují licence, měli povinnost tyto hry ponechat ve funkčním (hratelném) stavu i po ukončení podpory ze své strany. Podpořit podpisem tuto iniciativu můžete v Systému pro online sběr podpisů.

    trekker.dk | Komentářů: 5
    26.6. 11:22 | Komunita

    Mozilla oficiálně ukončila svůj již několik let mrtvý projekt DeepSpeech pro převod řeči na text.

    Ladislav Hagara | Komentářů: 3
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (28%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 330 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Skript pre sledovanie zmien v lokálnych GIT repozitároch

    10.7.2012 22:45 | Přečteno: 957× | Linux | poslední úprava: 11.7.2012 07:26

    V súčasnom zamestnaní pracujem ako hlavný vývojár / integračný manager. Táto úloha si vyžaduje sledovanie zmien vo verejných repozitároch členov tímu. Rovnako ako väčšina linuxákov nemám moc v láske periodické opakovanie určitých úkonov (napríklad sledovanie zmien v repozitároch). Preto som si na tento účel napísal malý skriptík.

    Než sa pustím do samotného popisu skriptu napíšem zopár slov o našom pracovnom postupe so systémom GIT.

    Ako som už na začiatku spomínal moja rola (okrem developera) je integračný manager. Pri rozdelení úloh na manažéra a vývojárov má každý vývojár vlastný repozitár. Každý vývojár môže svoj repozitár aktualizovať z hlavného repozitára, ku ktorému má read-only prístup.

    Ja som v tíme najskúsenejší a preto som priamo zodpovedný za kvalitu finálneho produktu. Aby sa do hlavného repozitára nedostali nedorobky kontrolujem každý commit pred jeho pretiahnutím do hlavného repozitára. V prípade, že nájdem nedostatky nechám chybný kód prerobiť a zaradím až bude napísaný v požadovanej kvalite.

    Princíp distribuovanej správy repozitára

    Tento postup vyžaduje buď periodickú kontrolu obsahu repozitárov, alebo nejaký systém notifikácií napr.

    kričanie
    Rýchle, interaktívne, ale ruší to ostatných.
    Gitlab
    Gitlab je doslova kópiou github-u s integrovaným systémom na správu pull requestov. Žiaľ na rozdiel od jednoduchého commitu je prihlasovanie sa do webovej aplikácie a klikanie na pull časovo nehospodárne.
    maily
    Teoreticky v prípade ak by sa systém pekne integroval do mailového klienta bolo by to super. Každý však používa iného klienta, vytvorenie integrovaného systému by bolo pekne časovo náročné.

    Git-watcher

    Aby som maximálne eliminoval nedostatky rôznych systémov notifikácií rozhodol som sa napísať malý skript, ktorý bude perfektne prispôsobený nášmu pracovnému postupu.

    Tento skript je napísaný v pythone 3. Aby mohol fungovať musí byť nainštalovaná knižnica pyinotify (hádam sa neznížim k takým hrúzam ako je pooling). Ďalej musí byť v $PATH nainštalovaný git a notify-send.

    Pred prvým spustením sa musí skript nakonfigurovať. Akosi som v poslednej dobe lenivý, takže neošetroval som vôbec prípady kedy by konfiguračný súbor neexistoval. Bez neho jednoducho aplikácia skončí na výnimke.

    Predvolená cesta ku konfiguračnému súboru je ~/.config/LinuxOS.sk/gitwatcher.cfg. Ukážkový konfiguračný súbor vyzerá nasledovne:

    [DEFAULT]
    icon=/usr/share/icons/oxygen/64x64/actions/svn-commit.png
    color_add=#00ff00
    color_remove=#ff2000
    display_time=360000
    
    [test]
    directory=/home/user/gittest/.git
    
    [test2]
    directory=/home/user/gittest2/.git
    

    Direktívy v sekcii DEFAULT sú voliteľné. Nasledujú už len definície samotných sledovaných repozitárov.

    Po commite v niektorom zo sledovaných adresárov sa na systéme s podporou libnotify zobrazí pasívna notifikácia.

           

    Hodnocení: 100 %

            špatnédobré        

    Obrázky

    Skript pre sledovanie zmien v lokálnych GIT repozitároch, obrázek 1 Skript pre sledovanie zmien v lokálnych GIT repozitároch, obrázek 2

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Josef Kufner avatar 11.7.2012 00:54 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    • gitweb + RSS čtečka: gitweb umí export historie do RSS a je součástí Gitu (je v každé distribuci). RSS čtečku není problém sehnat snad nikde. Navíc webové rozhraní usnadňuje zkoumání, co je v kterém repositáři nového.
    • Post recive hook: Při vytvoření git repositáře je v .git/hooks vytvořen ukázkový hook, který posílá mail při nahrání nové sady commitů do repositáře. Stačí nastavit adresy a přejmenovat jeden soubor.
    Hello world ! Segmentation fault (core dumped)
    11.7.2012 09:29 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    My na to používáme workflow v JIRA. Když někdo nějaké issue dokončí, vyplní hash do speciálního políčka.

    Já pak mám script který mi stahne z jiry všechny issue, najde do které repository hashe patří a vygeneruje mi seznam co už je a co není zamergováno.
    mirec avatar 11.7.2012 09:42 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    Na takéto veci mám nakonfigurované redmine aj s automatickým uzatváraním ticketov (stačí v commite closes #123), ale zatiaľ to nikto v práci nepoužíva. Ticketovací systém by so rád v práci zaviedol, ale žiaľ nie je to tak jednoduchá záležitosť ako sa zdá. Takže zatiaľ tieto veci riešime chaotickým spôsobom bez riadenia.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    11.7.2012 10:06 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    Na takéto veci mám nakonfigurované redmine aj s automatickým uzatváraním ticketov (stačí v commite closes #123)
    Jo, tohle je pěkná vychytávka, ale bohužel ji lze použít jen u jednodušších (a dobře navržených) systémů kde se snadno ověří že je to opravdu hotovo a funkční. Když je mezi commitem a uzavřením prodleva hodiny až dny (build, nasazení, příprava dat, provedení testu, kontrola všech dvaceti míst v třech různých aplikacích které to může ovlivnit, navíc to otestování by měl dělat někdo jiný nezaujatý a právě teď jako na potvoru nikdo nemá čas) tak už to zas takový šlágr není.
    Ticketovací systém by so rád v práci zaviedol, ale žiaľ nie je to tak jednoduchá záležitosť ako sa zdá. Takže zatiaľ tieto veci riešime chaotickým spôsobom bez riadenia.
    To bych neřekl, když tam máte integrátora - to je samo o sobě velmi efektivní způsob organizace. V některých ohledech lepší než ticketovací systém.

    Jinak stačí počkat až pojedeš na delší dovolenou a stane se průser :-)
    Josef Kufner avatar 11.7.2012 10:22 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    A nestačí, aby "closes #123" v commitu označilo ticket jako hotový (vyřešený), ale nechalo na nějakém člověku, aby ho doopravdy uzavřel? Mohlo by to tak automaticky sestavovat testerům seznam věcí k otestování.
    Hello world ! Segmentation fault (core dumped)
    mirec avatar 11.7.2012 10:49 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    Closes nastaví stav na resolved, uzatvoriť to musí ručne osoba zodpovedná za testovanie. Ten redmine nie je tak blbý ako vyzerá ;)
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    11.7.2012 15:13 dementni.lojzik | skóre: 19 | blog: ze zivota na vsi
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    presne to AFAIK JIRA ma - vyvojar nastavi na "closed" (napr. prave pres post hook commitu) a pak je na QA aby to otestovali na nastavili na "resolved"
    mirec avatar 11.7.2012 15:23 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    Nie je to náhodou v JIRA opačne (tj. resolved nastavuje vývojár a closed QA)?
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    11.7.2012 20:49 m-a
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    Zalezi od toho, ako je definovany "workflow" - postupnost stavov. Standardne je najprv Resolved, potom Closed.
    11.7.2012 22:17 dementni.lojzik | skóre: 19 | blog: ze zivota na vsi
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    jo, sorry, prehodil jsem to, je to tak...
    mirec avatar 11.7.2012 10:55 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    Jinak stačí počkat až pojedeš na delší dovolenou a stane se průser

    Ja sa ako pravý workoholik na žiadnu nechystám. Voľno budeme mať v rovnakom čase, ja ostávam vtedy v pohotovosti keby niečo. Našťastie bývam v krásnom prostredí, takže budú pekné výlety do okolia s mobilom vo vrecku.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    11.7.2012 12:45 sidik
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    Já bych rád změnil politiku verzování právě v tomhle směru. Aktuálně jsou repa pro všechny týmy zapisovatelný a vzhledem k tomu, že všichni dodržují předepsaný systém, tak to nijak zvlᚍ nevadí. Nicméně bych rád zavedl centrální repo, kam by mohl zapisovat jen správce a dovnitř by pouštěl opravdu jen hotový a otestovaný kód.

    Jak se u Gitu tohle řeší? Nějaké samostatné read-only repo, kam se ručně tahá kód z vývojového nebo je git schopen si tohle šéfovat na úrovni jednoho repozitáře? Nejradši bych totiž viděl jedno repo, ve kterém je branch stable a do něj může z ostatních branchů zařazovat jen admin (resp commit může poslat kdokoliv ale ten zůstane viset ve frontě dokud než admin schválí/zamítne).
    Josef Kufner avatar 11.7.2012 12:49 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Skript pre sledovanie zmien v lokálnych GIT repozitároch
    Pokud naserveru použiješ např. gitolite, tak lze omezovat přístup na úrovni jednotlivých větví. Jinak v Gitu je z uživatelského pohledu celkem jedno, jestli je to větev nebo samostatný repositář – je to prakticky stejně pohodlné.
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.