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 00:11 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 173. brněnský sraz, který proběhne v pátek 21. února od 18:00 v restauraci Suzie's Steakhouse Brno na adrese Kounicova 10.

Ladislav Hagara | Komentářů: 0
včera 16:33 | Nová verze

Byla vydána verze 2.0.0 aplikace pro digitální malování MyPaint (Wikipedie). Přehled novinek i s náhledy v příspěvku na blogu.

Ladislav Hagara | Komentářů: 0
včera 16:11 | Zajímavý článek

Článek na blogu LibreTechTips představuje a srovnává webové vyhledávače: nejen známé Google, Bing, DuckDuckGo či Yandex, proxy Startpage a Ecosia, ale také nezávislý Mojeek, metavyhledávače Metager a Searx, švýcarský Swisscows a francouzský Qwant. Srovnání spočívá v pohledu na výsledky čtyř hledání a čtyř specifických dotazů jako překlad slova nebo převod jednotek. Nejlépe hodnocený je Searx následovaný Google a s velkým odstupem Bingem, DuckDuckGo, Startpage atd.

Fluttershy, yay! | Komentářů: 3
15.2. 16:44 | Nová verze

Byla vydána verze 9.0 open source unixového operačního systému NetBSD (Wikipedie). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
14.2. 17:11 | Nová verze

Byla vydána nová verze 8.2 sady aplikací pro SSH komunikaci OpenSSH. Z novinek lze zdůraznit podporu hardwarových bezpečnostních klíčů podporujících FIDO/U2F.

Ladislav Hagara | Komentářů: 0
14.2. 14:33 | Komunita

Čtenářům a čtenářkám AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (FSF, I love Free Software Day, #ilovefs).

Ladislav Hagara | Komentářů: 12
14.2. 13:22 | Nová verze

Byla vydána nová verze 2.82 svobodného 3D softwaru Blender. Přehled novinek v oznámení o vydání a na YouTube.

Ladislav Hagara | Komentářů: 0
14.2. 06:00 | Humor

Do škol v anglickém regionu West Midlands byl distribuován poněkud zvláštní informační leták související s kybernetickou bezpečností: Zahlédli jste na počítači vašeho dítěte Tor, VirtualBox, Kali Linux, WiFi Pineapple, Discord nebo Metasploit, nebo si myslíte, že vaše dítě hackuje, dejte nám vědět. Vaše ROCU a NCA. Neměla by být distribuována tato upravená verze?

Ladislav Hagara | Komentářů: 22
13.2. 13:55 | IT novinky

Příspěvek na redditu upozorňuje, že společnost Logitech před nějakým časem odstranila z některých svých webkamer možnost hardwarového enkódování H.264. Řešení používající například starší webkameru C920 s H.264 nemusí s novou C920 fungovat. Názvy webkamer se přitom nezměnily a internetové obchody pořád o H.264 informují.

Ladislav Hagara | Komentářů: 23
13.2. 12:33 | Nová verze

Příspěvek na blogu webové aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) představuje novinky a ukazuje náhledy nové major verze 1.11.0 této v programovacím jazyce Go naprogramované aplikace.

Ladislav Hagara | Komentářů: 0
Vydržela vám novoroční předsevzetí?
 (9%)
 (7%)
 (2%)
 (82%)
Celkem 147 hlasů
 Komentářů: 0
Rozcestník

www.AutoDoc.Cz

TeamCity – inteligentní server pro kontinuální integraci

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

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.