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

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

čtení na 8 minut 16.2.2022

Být či nebýt Test managerem?

čtení na 4 minuty 18.4.2023

Z IT světa – Jaké technologie by vá...

čtení na 3 minuty 29.1.2021

Jak začít jako junior software test...

čtení na 4 minuty 12.8.2020

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

Systeum
Systeum

„Systeum je jedním z největších dodavatelů našich testerských kapacit. Můžu říct, že kvalita uchazečů je vysoko nad průměrem. Také oceňuji velkou ochotu vyjít vstříc všem našim požadavkům.“

Head of test execution

„Systeum je dlouhodobý partner, u kterého máme jistotu, že kandidáti jsou kvalitní a prověření. Od roku 2015 máme díky nim fungující kvalitní seniorní týmy C++ embedded vývojářů a auto testerů.“

Head of Payment Application

„Systeum, thank you for your help to find the right fit to my team! I can recommend cooperation with you to everybody. Very professional, smooth and friendly.“

IT CIM Inventory Management Development

Příklady dlouhodobé spolupráce

Porsche Moneta Raiffeisenbank Generali Komerční banka Monster