abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:00 | IT novinky

    DuckDuckGo AI Chat umožňuje "pokecat si" s GPT-3.5 Turbo od OpenAI nebo Claude 1.2 Instant od Anthropic. Bez vytváření účtu. Všechny chaty jsou soukromé. DuckDuckGo je neukládá ani nepoužívá k trénování modelů umělé inteligence.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | IT novinky

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

    Ladislav Hagara | Komentářů: 2
    včera 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    18.4. 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    18.4. 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    18.4. 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    18.4. 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    18.4. 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    18.4. 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    KDE Plasma 6
     (68%)
     (11%)
     (2%)
     (20%)
    Celkem 566 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    TeamCity – inteligentní server pro kontinuální integraci

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

    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.