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í
×
    dnes 08:00 | Komunita

    Do svidanija, Igor, a dík za NGINX. Igor Sysoev, autor webového serveru nginx (2002) a spoluzakladatel stejnojmenné společnosti (2011), opouští NGINX a F5. Chce trávit více času se svými přáteli a rodinou a věnovat se osobním projektům.

    Ladislav Hagara | Komentářů: 8
    dnes 07:00 | Nová verze

    Wine, vrstva umožňující běh aplikací určených pro MS Windows, bylo vydáno v nové hlavní verzi 7.0. Novinky zahrnují vylepšenou podporu např. vstupních zařízení nebo motivů vzhledu, více v oznámení vydání.

    Fluttershy, yay! | Komentářů: 0
    dnes 06:00 | Zajímavý software

    Open source syntezátor Surge XT byl vydán ve verzi 1.0.0. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv3. Více v dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | IT novinky

    Microsoft kupuje Activision Blizzard (Warcraft, Diablo, Overwatch, Call of Duty, Candy Crush, …) za 68,7 miliard dolarů.

    Ladislav Hagara | Komentářů: 24
    včera 13:33 | Zajímavý článek

    Fedora Magazine rozebírá restartování a offline aktualizování Fedora Linuxu. První Fedora s offline aktualizováním byla v lednu 2013 vydaná Fedora 18. Tenkrát ještě s kódovým označením Spherical Cow.

    Ladislav Hagara | Komentářů: 5
    včera 12:55 | IT novinky

    The Qt Company dnes představila platformu Qt Digital Advertising 1.0 pro monetizaci Qt aplikací.

    Ladislav Hagara | Komentářů: 3
    17.1. 22:22 | Nová verze

    Byla vydána nová major verze 5.0 kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Jedná se o LTS vydání. Přehled novinek v oznámení a v příspěvku na blogu. Kódové označení Lorentz bylo vybráno na počest Hendrika Lorentze.

    Ladislav Hagara | Komentářů: 0
    17.1. 09:00 | Nová verze

    Byla vydána nová stabilní verze 1.4.230 (první z řady 1.4.x, viz změna číslování verzí) open source program pro hlasovou komunikaci Mumble (Wikipedie, GitHub). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    17.1. 08:00 | Nová verze

    Byly vydány nové verze JACK Audio Connection Kitu (Wikipedie): JACK1 0.126.0 a JACK2 1.9.20. Nástroje a příklady byly vyčleněny do nového samostatného repozitáře jack-example-tools verze 1. To usnadní balíčkování JACKu a PipeWire (pipewire-jack) v linuxových distribucích. Vydán byl také New Session Manager 1.5.3.

    Ladislav Hagara | Komentářů: 0
    17.1. 07:00 | Nová verze

    Byla vydána nová verze 7.5.0 správce digitálních fotografií a videí digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 2
    Jestliže jste používali distribuci CentOS Linux, jejíž konec byl oznámen před rokem, kam jste přešli?
     (32%)
     (1%)
     (7%)
     (18%)
     (1%)
     (5%)
     (36%)
    Celkem 165 hlasů
     Komentářů: 14, poslední 14.1. 14:44
    Rozcestník



    TeamCity – inteligentní server pro kontinuální integraci

    17. 12. 2018 | Richard Voigts | Reklama | 3194×

    V Praze proběhla vývojářská konference, které se zúčastnil i Anton Arhipov, guru společnosti JetBrains. Měli jsme příležitost se ho zeptat na server TeamCity a jazyk Kotlin.

    K čemu je TeamCity dobré?

    TeamCity je výkonný server pro kontinuální integraci a nasazení od společnosti JetBrains. Nástroj vznikl na základě potřeb společnosti JetBrains pří vývoji vlastních produktů založených na platformě Java a .NET. Anton Arhipov

    TeamCity se často využívá při vytváření velkých projektů s velkým množstvím vzájemných závislostí. Komplexní modulární kódové základny jsou přesně to, v čem TeamCity vyniká. Kdykoli je to možné, server využívá výsledky předchozích běhů, čímž šetří čas na zpracování a snižuje náklady na infrastrukturu.

    Kontinuální integrace je zásadní pro produktivitu týmů. TeamCity pomáhá týmům vybudovat automatizovaný kanál pro sestavení a distribuci software s vestavěným kvalitativním sledováním výstupů.

    Jaké další výhody má TeamCity?

    Jedním z důvodů, proč je TeamCity někdy nazýván "Inteligentním CI serverem", je jeho přístup k integraci. Jestliže TeamCity deklaruje podporu konkrétního nástroje, snaží se ji zajistit všemi možnými způsoby. Podpora projektů Java například poskytuje automatickou detekci verzí nástrojů, podporu testovacích frameworků, pokrytí kódu testy, statickou analýzu kódů a další. Jistě potěší, že většina funkcí je k dispozici bez nutnosti instalace dalších pluginů.

    TeamCity nabízí integrací s mnoha různými technologiemi. Kromě projektů Java a .NET umožňuje týmům pracovat s Ruby, Xcode, C ++, Node.JS, Python a dalšími technologiemi. V současné době projekty často závisejí na externích službách a integraci s nimi. VCS hostingové služby, Docker, sledování problémů a defektů (Issue trackers) a cloudová řešení (AWS, Azure, vSphere): toto je jen krátký seznam služeb integrovatelných s TeamCity. Podstatnou součástí procesu dodávky software je schopnost kontrolovat kvalitu vyrobených produktů. TeamCity je schopen pomocí svých standardně dodávaných nástrojů evidovat pokrytí kódu testy pro projekty Java a .NET. Pro statickou analýzu kódů využívá TeamCity několik stovek inspekčních pravidel známých vývojářům jak z IntelliJ IDEA tak z nástroje ReSharper. Tato pravidla v TeamCity analyzují konkrétní kód a identifikují potenciální problémy.

    Každé hlášení o zjištěné kvalitě kódu poskytuje metriky, pomocí kterých lze snadno určit podmínky, za kterých se má sestava považovat za selhávající. Chcete-li zabránit degradaci některých metrik v průběhu času, je také možné nakonfigurovat sestavu tak, aby selhala v případě, že vzrostl počet detekovaných defektů od předchozího kontroly kvality či ve srovnání s určených benchmarkem.

    Jak vypadá typická skupina uživatelů TeamCity?

    Pro většinu produktů lze identifikovat nejméně tři různé typy uživatelů: vývojáři, build inženýři a správci systému. TeamCity podporuje každou skupinu specifickou sadou funkcí.

    Následně CI pro vývojáře - primárním cílem serveru CI z pohledu vývojáře je sestavení produktu po změnách ve zdrojovém kódu, spuštění testů a co nejrychlejší hlášení o jejich výsledku. Pokud se něco pokazí, například při selhání některých testů, musí vývojář co nejdříve identifikovat příčinu. Uživatelské rozhraní TeamCity napomáhá diagnostikovat takové problémy tím, že přehledně předkládá základní informace o vytváření a provádění testů.

    Neúspěšné testy při build execution
    Obrázek 1. Neúspěšné testy při build execution

    Další užitečnou vlastností TeamCity je schopnost ověřit změny před tím, než je vývojář vloží do úložiště pro správu verzí a sdílí s kolegy z vývojářského týmu. Tato funkce se nazývá Pre-tested Commit. Pokud změny projdou, TeamCity ve spolupráci s pluginem pro použité IDE je automaticky vloží do Version Control. Pokud ověření selže, nový kód se do VCS nedostane a vývojář obdrží o tomto selhání upozornění (e-mailem, IM, Windows Systém Tray nebo v IDE).

    Pracovní proces Předběžně testováno
    Obrázek 2. Pracovní proces Předběžně testováno

    Funkce Pre-tested Commit chrání VCS před chybovým kódem.

    CI pro build inženýry – pro „build“ inženýry nabízí TeamCity množství funkcí pro organizaci a správu sestav. Uživatelé mohou vytvářet logiku sestav buď v sofistikovaném uživatelském rozhraní TeamCity nebo popisem konfigurací v kódu s využitím open source programovacího jazyka Kotlin, který byl rovněž vyvinut společností JetBrains.

    Kotlin DSL konfigurace pro projekty TeamCity
    Obrázek 3. Kotlin DSL konfigurace pro projekty TeamCity

    Deklarováním jednotlivých kroků a zadáním závislostí mezi nimi můžete rozdělit jednu proceduru na několik částí, které lze provést na různých TeamCity agentech v různých prostředcích, a to buď postupně nebo paralelně. Build Chain v TeamCity nabízí grafickou vizualizaci jednotlivých kroků sestavy a jejich závislostí. Jde o další přesvědčivý koncept TeamCity.

    Build Chains v TeamCity
    Obrázek 4. Build Chains v TeamCity

    Vzhledem k tomu, že TeamCity je navrženo pro práci s různými repozitáři zdrojových kódů jednoho projektu, synchronizace zdrojového kódu proběhne spolehlivě a automaticky v rámci sestavovacích řetězců. To překvapivě snadno umožňuje konzistentní vytváření projektu nad úložišti odlišných typů - Git, Perforce, Subversion, TFS a další.

    Dobří vývojáři softwaru nemají rádi duplicitní kód; obdobně, dobrým build inženýrům se nelíbí duplicitní nastavení. TeamCity toto chápe a nabízí několik způsobů, jak znovu použít nastavení nebo jejich části. Je možné vytvořit šablonu s výchozím nastavením a potom odvodit libovolný počet konkrétních konfigurací sestav od této šablony.

    Administrátor projektu může nastavit výchozí šablonu pro všechny konfigurace. Takto je možné zajistit změny všech sestav v projektu, i těch již existujících, pouhou změnou v této šabloně. Připojení jedné konkrétní konfigurace k více šablonám je také možné.

    CI pro systémové administrátory – údržba systému a správa uživatelů jsou pro správce systému dva nejběžnější úkoly. TeamCity usiluje o to, aby svým uživatelům ulehčil život i v této oblasti.

    Údržba systému – možnosti zálohování a obnovy umožňují uložit stav systému a obnovit jej v případě potřeby. Zpráva o využití disku poskytuje jasný přehled o tom, kolik místa každý projekt zabírá, právě tak jako informaci o sestavách s neobvykle velkými sestavovacími protokoly (logy) nebo artefakty. Podobně jako při přehledu využití disku, TeamCity informuje o tom, kolik zdrojů a jakých využívá každý projekt i se svými případnými podprojekty.

    Zpráva o využití disku
    Obrázek 5. Zpráva o využití disku

    TeamCity je také vybaven centrálním místem, kde můžete sledovat stav svého serveru. Tam lze mimo jiné snadno identifikovat různé problémy s konfigurací: redundantní nebo nepoužívané kořeny VCS, konfigurace s velkými sestavovacími protokoly, kritické chyby apod.

    Zpráva o stavu serveru
    Obrázek 6. Zpráva o stavu serveru

    Správa uživatelů – velké týmy s sebou nesou potřebu různých rolí v projektu s různými přiřazenými odpovědnostmi. V TeamCity je systémový administrátor vybaven sadou nástrojů pro ovládání oprávnění uživatelů.

    Uživatelé TeamCity mohou být organizováni do skupin a mohou jim být přidělena různá oprávnění. Po zařazení získá uživatel všechny role přidělené skupině. Skupiny je možno organizovat hierarchicky, což zjednodušuje správu uživatelů pro velké společnosti. TeamCity podporuje mnoho schémat ověřování, včetně domén Windows a LDAP. Můžete i víc – z jednoho schématu lze jednoduše migrovat ověřování na jiné nebo kombinovat tato schémata dohromady a používat je všechna najednou.

    Kromě toho TeamCity zapisuje akce uživatele do protokolu auditu. Tento protokol vám ušetří mnoho času, pokud potřebujete zjistit, kdo a kdy smazal některou konfiguraci nebo projekt, přidělil uživateli danou roli, přidal uživatele do skupiny a podobně.

    Jakým způsobem je TeamCity distribuováno a kde je možné je získat a koupit?

    Distribuční balíček TeamCity lze stáhnout z webu jetbrains.com/teamcity/download/ jako instalační program systému Windows nebo archiv tar.gz pro Linux a MacOS.

    Je také možné spustit TeamCity jako kontejner Docker, instalovat server ze šablony CloudFormation v Amazon Web Services nebo spustit jako zdroj v aplikaci Microsoft Azure. S licenčním modelem freemium získávají uživatelé přístup ke všem produktovým funkcím s až 100 konfiguracemi sestav a 3 licencemi pro build agenty.

    Dodatečné licence pro build agenty a komerční podporu lze zakoupit na stránce jetbrains.com/teamcity/buy.

    Nástroje: Tisk bez diskuse

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

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