Jsme tu pro vás PO - PÁ 9:00 - 17:00 info@systeum.cz +420 608 408 716

Jsme tu pro vás PO - PÁ 9:00 - 17:00 obchod@systeum.cz +420 608 408 716

Navážeme na první díl, kde jsme si popsali, co to Jenkins je a jak se používá. Nyní si zkusíme vysvětlit další kroky a možnosti, které Jenkins přináší nebo jak pomáhá při delivery neboli při dodávce softwaru.

Automatizované testování

V rámci kroku v pipeline, kdy se provádí automatizované testy, se pouštějí testy a výsledky se ukládají. Cílem je, aby kód fungoval při různých scénářích, které vydefinují testeři. Ti to dělaji proto, aby se pokryly všechny možné problémy, které by mohly pokazit dodávku softwaru a zároveň se ověřuje, že po nasazení nové verze nedošlo k problémům již stávajících funkcionalit. 

Tato fáze automatického testování se bez problému začlení do pipeline CI v Jenkins. Různé pluginy pomáhají spouštět integrační, funkční a regresní testy. Nakonec se výsledky ukládají pro pozdější analýzu.

Controller dříve znám jako Master

Architektura Jenkis se stará o distribuované sestavení. Controller je znám jako centralní řídicí jednotka a organizér. Tento controller je ústředním procesem konfigurace Jenkins. Právě tento controller spravuje agenty a jejich připojení, pomáhá načítat pluginy a celkově koordinuje tok projektu.

Agent dříve znám jako Slave

Tyto agenti se připojují ke controlleru Jenkins a spouštějí projekty. Jedna hlavní prerekvizita pro agenty je instalace Java na fyzickém nebo virtuálním počítači nebo serveru, podobně jako jsou instalace image Dockeru a nebo clustery Kubernetes. Agenti v Jenkins pomáhají poskytovat lepší a vyvážený výkon tím, že vyvažují zatížení buildu tak, aby nedošlo k přetížení a zároveň oddělují tyto věci od controlleru.

Node neboli Uzel

Node je obecný termín pro agenty a controllery, bez ohledu na jejich skutečnou roli. Jinak řečeno jakýkoliv stroj se schopností vytvářet projekty a pipeline je Node v Jenkins. Controller je také známý jako vestavěný Node. Když vestavěný Node monitoruje stav připojených nodů a zjistí překročení prahových hodnot, odpojí je.

Projekt také znám jako Job

Projekt Jenkins nebo Job je uživatelem vytvořený automatizační postup s konkretním cílem. Jenkins ve výchozím nastavení nabízí různé úlohy a další jsou k dispozici prostřednictvím pluginu.

Seznam s krátkým popisem k některým typům projektu/Jobu:

Freestyle – “Anarchista”, je to neomezený projekt/Job. Toto je vlastně hlavní funkce Jenkins, sestaví vám projekt, spojí jakýkoliv systém pro správu a verzi se systémem pro sestavení.

Pipeline – Vícestupňový projekt s několika sestavovacími agenty. Organizuje dlouhotrvající aktivity, které mohou zahrnovat více agentů sestavení.

Multi-configuration – Projekt/Job s více testovacími prostředími a různými konfiguracemi.

Multi-branch Pipeline – Projekt/Job, který vytváří sadu pipeline projektů/Jobu podle branches v repozitory.


Zajímá vás oblast IT a hledáte pracovní pozice a pracovní příležitosti v IT oboru? Ať už jste programátor, developer, tester, analytik nebo software architekt, ozvěte se nám a my vám z naší nabídky IT práce najdeme IT projekt na míru. Podívejte se, jaká volná pracovní místa v IT oblasti momentálně nabízímePomůžeme vám najít nové pracovní výzvy a příležitosti. Těšíme se na spolupráci s vámi!

 

Build

Build v Jenkins znamená sestavení úlohy s aktuální konfigurací. Build vytváří software z různých zdrojů, které jsou nadefinované v postupu projektu. V závislosti na projektu zahrnuje build mechanismy:

  1. sbírání závislosti
  2. kompilace nebo transformace kódu
  3. testování
  4. nasazování do různých prostředí

Build je tedy jeden běh, který je definovaný v projektu s různými kroky.

 

Jak to celé funguje?

Jenkins provede vývojové kroky od samotné integrace po nasazení a každý další krok při jeho cestě se automatizuje. Když tedy vývojář provede commit do GITu, který je následně zrevidován jiným vývojářem, který tento kód zmerguje do hlavní větve/branche, tak se automaticky pustí build v Jenkins. V několika krocích při sestavení se provede i testování kódu proto, aby se zajistilo, že build něco nerozbije. Avšak pokud dojde k nějaké chybě, Jenkis pošle informaci vývojáři, že build skončil s chybou. Předpokládejme, že testy kódu projdou, tím může pipeline pokračovat k integračním krokům. Integrace trvá o něco déle a je vyžadováno testování kódu proti více konfiguracím systému. Paralelně se provádějí integrační testy na různých nodech proto, aby se zkrátil potřebný čas o integraci kódu. Následně se pustí automatizované testy, aby ověřily, že nasazený kód nijak nerozbil již funkční věci.

Vlastnosti Jenkinse

Hlavní rysy Jenkins jsou:

  1. Lehká a jednoduchá instalace. Program založený na Java je autonomní a platformně agnostický.
  2. Jednoduchá konfigurace. Webové rozhraní je přívětivé pro uživatele a zjednodušuje konfiguraci. 
  3. Díky velkému množství pluginu je Jenkins jednoduše přizpůsobitelný. V současné době existuje více než 1 700 pluginů.
  4. Jedním z hlavních důvodů, proč je Jenkins hodně žádaným, je Open-source. To znamená, že je zdarma.




Výhody a nevýhody Jenkinse

Jako každý software, tak i Jenkins má své výhody a nevýhody. 

Výhody Jenkinse:

  1. Rychlý vývojový cyklus. Nové funkce a verze softwaru se dostávají rychleji k zákazníkovi (například bussines), a to s menším počtem chyb.
  2. Ušetří čas při integraci kódu, protože před Jenkinsem byla integrace kódu ručním/manuálním procesem a ladění kódu bylo poměrně složité. Když se používá Jenkins po každé, když se mění kód, tak je menší pravděpodobnost chyb a zároveň prostředí se softwarem je stabilní.
  3. Rychlá zpětná vazba pro vývoj. Pokud dojde k selhání buildu, vývojáři ihned vědí, že se něco pokazilo a mohou pracovat na odstranění problému.
  4. Automatizovaný job pipeline zahrnuje i automatizované testy při každém buildu.

Nevýhody Jenkinse:

  1. Může to být nákladné, jelikož Jenkins vyžaduje stabilní a robustní infrastrukturu.
  2. Je potřeba neustálé údržby. Údržba serveru, kde běží Jenkins je časově náročná. Upgrade serveru o nové funkce a sledování aktualizací pluginu vyžadují, aby administrátor restartoval a spravoval server ručně.
  3. Kdo není vývojář, může být trochu zmatený. Ne nadarmo je Jenkins zaměřený právě na vývojáře. V dnešní době je potřeba, aby vývojáři s Jenkinsem uměli. Často  tuto znalost požadují v nabídkách zaměstnání.

 

Mohl bych napsat plno stránek, jak a co se dá v Jenkins udělat a nastavit, ale spíše jsem chtěl přiblížit, proč je to tak žádaný systém v mnoha firmách. Můžete se samozřejmě setkat i s alternativami, ať už placenými nebo zdarma. 

 

🟡 Hledáte zajímavý projekt? Mrkněte, jak to u nás chodí a jaké kolegy aktuálně hledáme.

🟡 Máte kolegu nebo kamaráda, který se poohlíží po novém projektu? Zapojte se do našeho referral programu Doporuč a získejte finanční odměnu za doporučení.

🟡 Chtěli byste začít pracovat v IT? Stáhněte si náš ebook ZAČNĚTE PRACOVAT V IT: aneb od prvních krůčků po vysněnou práci, ve kterém vás provedeme krůček po krůčku informacemi, kurzy i praxí, které jsou tolik potřebné nejen pro ty, kteří chtějí změnit obor, ale i pro ty, kteří se chtějí pracovně posunout a dále se vzdělávat.

🟡 Víte, jak si co nejjednodušeji a nejefektivněji připravit půdu pro nové pracovní začátky? Mrkněte na náš ebook: Připravte se na nová pracovní dobrodružství - Průvodce k úspěšné změně zaměstnání. Dream job je za dveřmi, stačí jen vzít správně za kliku.

Nebo sdílejte tento článek, který třeba poslouží i vašim známým.

Chcete dostávat naše články pravidelně do schránky? Nechte nám tady svůj email a my si rádi zahrajeme na poštovní sovy.

Mohlo by vás také zajímat

Jak dobře znáte Jenkins? Díl I.

čtení na 4 minuty 29.7.2022

Tipy na IT kurzy pro děti: na pozná...

čtení na 3 minuty 19.10.2021

Pád a vzestup AMD

čtení na 3 minuty 12.8.2021

Znáte simulační teorii? 

čtení na 2 min 28.6.2022

Agile, Waterfall, DevOps: základní ...

čtení na 8 minut 16.2.2022

Typy outsourcingu IT specialistů

čtení na 5 min 2.4.2024

Jak se o nás mluví?
Zeptejte se našich klientů…

Systeum
Systeum
slide 1 of 3

Příklady dlouhodobé spolupráce

Porsche Moneta Raiffeisenbank Generali Komerční banka Monster