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 12:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 169. brněnský sraz, který proběhne v pátek 18. října od 19:00 v restauraci Racek (Jungmanova 5). Před srazem proběhne v 18:00 komentovaná prohlídka nových prostor hackerspacu base48 (přístup je z Mojmírova náměstí).

Ladislav Hagara | Komentářů: 2
dnes 05:55 | Bezpečnostní upozornění

V příkazu sudo byla nalezena a ve verzi 1.8.28 byla již opravena bezpečnostní chyba CVE-2019-14287. V souboru /etc/sudoers lze nastavit, aby daný uživatel mohl konkrétní příkaz spouštět s právy libovolného uživatele (ALL) nebo libovolného uživatele kromě uživatele root (ALL, !root). Spustí-li tento uživatel daný příkaz se sudo s volbou -u#-1 nebo -u#4294967295, tj. pod uživatelem -1 nebo 4294967295, nebude vyžadována autentizace a příkaz se spustí pod právy roota.

Ladislav Hagara | Komentářů: 1
dnes 01:33 | Nová verze

Po více než roce a čtvrt od vydání verze 3.7.0 byla vydána nová verze 3.8.0 programovacího jazyka Python. Přehled novinek v aktualizované dokumentaci. Podrobný přehled změn v Changelogu.

Ladislav Hagara | Komentářů: 9
včera 16:11 | IT novinky

Ke zhlédnutí na Invidious a YouTube je videozáznam rozborky a sborky mobilního telefonu Librem 5.

Ladislav Hagara | Komentářů: 21
včera 13:33 | Komunita

Richard Stallman, zakladatel hnutí svobodného softwaru, se dnes v e-mailové konferenci guix-devel vyjádřil, že svobodný software je apolitický, resp. jedinou přípustnou politikou je politika svobodného softwaru. Reagoval na některé návrhy, že by se do svobodného softwaru měl zabudovat feminismus nebo jiný -ismus. Říká, že témata jako komunismus nebo sexuální orientace jsou „off-topic“. Je v pořádku mít politické názory, ale lidé

… více »
xkucf03 | Komentářů: 74
včera 05:55 | Nová verze

Po téměř dvou letech vývoje od vydání verze 2.0 byla vydána verze 2.1.0 svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 3
13.10. 10:55 | IT novinky

Josef Průša představil novou 3D tiskárnu Original Prusa MINI. Její cena je 9 990 Kč a tisknout lze na ní objekty do velikosti 18 × 18 × 18 cm.

Ladislav Hagara | Komentářů: 39
12.10. 13:11 | Nová verze

Byla vydána nová stabilní verze 3.0 svobodné decentralizované mikroblogovací platformy a sociální sítě podobné Twitteru Mastodon (Wikipedie). Detailní přehled novinek na GitHubu. Projekt lze podpořit na Patreonu. Aktuálně má přislíbeno 5 697 dolarů měsíčně.

Ladislav Hagara | Komentářů: 2
12.10. 12:22 | Komunita

Larry Wall odsouhlasil přejmenování programovacího jazyka Perl 6 (Wikipedie) na Raku. Více viz Issue #81 a Pull request #89.

Ladislav Hagara | Komentářů: 13
11.10. 23:33 | Nová verze

Byla vydána nová major verze 2.0 open source systému pro filtrování nevyžádané pošty Rspamd (GitHub, ChangeLog). S novou verzí bylo změněno označování verzí z major.minor.patch na major.minor.

Ladislav Hagara | Komentářů: 0
Kdy jste naposledy viděli počítač s připojeným běžícím CRT monitorem?
 (20%)
 (4%)
 (11%)
 (39%)
 (24%)
 (2%)
Celkem 397 hlasů
 Komentářů: 22, poslední 23.9. 08:36
Rozcestník

www.AutoDoc.Cz

TeamCity – inteligentní server pro kontinuální integraci

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

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.