Výukový program Jenkins Nepretržitá integrácia pomocou Jenkinsa Edureka



Jenkins Tutorial je druhý blog série blogov Jenkins. Tento blog hovorí o Jenkinsovej distribuovanej architektúre a o tom, ako vytvoriť zostavenie pomocou Jenkinsa.

Jenkins Tutorial

Jenkins je jedným z najdôležitejších nástrojov v . Dúfam, že ste si môj predchádzajúci blog prečítali dňa . V tomto blogu Jenkins Tutorial sa zameriam na architektúru Jenkins a pipeline Jenkins build spolu s tým, že vám ukážem, ako vytvoriť build v Jenkins.

Pred pokračovaním v Jenkinsovom výučbe sú najdôležitejšie informácie z predchádzajúceho blogu:





bábka vs kuchár vs docker
  • Jenkins sa používa na integráciu všetkých stupňov DevOps pomocou doplnkov.
  • Bežne používané doplnky Jenkins sú Git, Amazon EC2, projekt Maven 2, vydavateľ HTML atď.
  • Jenkins má viac ako 1 000 doplnkov a147 000 aktívnych inštalácií spolu s viac ako 1 miliónom používateľov po celom svete.
  • Vďaka kontinuálnej integrácii je každá zmena vykonaná v zdrojovom kódejepostavený. Plní aj ďalšie funkcie,to závisí od nástroja použitého na nepretržitú integráciu.
  • Nokia prešla od Nightly build k Continuous Integration.
  • Proces pred kontinuálnou integráciou mal veľa nedostatkov. Výsledkom bolo nielen pomalé dodávanie softvéru, ale aj kvalita softvéru. Vývojári tiež ťažko hľadali a opravovali chyby.
  • Nepretržitá integrácia s firmou Jenkins prekonala tieto nedostatky nepretržitým spúšťaním zostavovania a testovania všetkých zmien vykonaných v zdrojovom kóde.

Teraz je ten správny čas na pochopenie Jenkinsovej architektúry.

Jenkinsova architektúra

Zrevidujme samostatnú Jenkinsovu architektúru, ktorú som vám vysvetlil v , nižšie uvedený diagram zobrazuje to isté.



Samostatná architektúra Jenkins - Čo je Jenkins - Edureka

Tento jediný server Jenkins nestačil na splnenie určitých požiadaviek, ako napríklad:

  • Na testovanie svojich stavieb niekedy budete potrebovať niekoľko rôznych prostredí. To nedokáže jediný server Jenkins.
  • Ak sa pravidelne budujú väčšie a ťažšie projekty, potom jediný server Jenkins nedokáže jednoducho zvládnuť celú záťaž.

Na riešenie vyššie uvedených potrieb bola predstavená distribuovaná architektúra Jenkins.



Jenkinsova distribuovaná architektúra

Jenkins používa na správu distribuovaných zostavení architektúru Master-Slave. V tejto architektúre Master a Slave komunikujú prostredníctvom protokolu TCP / IP.

Jenkins Master

Váš hlavný server Jenkins je Master. Úlohou pána je zvládnuť:

  • Plánovanie vytvárania pracovných miest.
  • Dispečing sa zostavuje s otrokmi pre skutočné vykonanie.
  • Monitorujte otrokov (podľa potreby ich prípadne vezmite online a offline).
  • Zaznamenávanie a prezentácia výsledkov zostavenia.
  • Hlavná inštancia Jenkins môže tiež priamo vykonávať úlohy zostavovania.

Jenkins Slave

Slave je spustiteľný súbor Java, ktorý beží na vzdialenom počítači. Nasledujú charakteristiky Jenkinsovej otrokyne:

  • Vypočuje žiadosti od inštancie Jenkins Master.
  • Otroci môžu bežať na rôznych operačných systémoch.
  • Úlohou otroka je robiť to, čo sa im povie, čo zahŕňa vykonávanie úloh zostavenia, ktoré vyslal majster.
  • Môžete nakonfigurovať projekt tak, aby vždy bežal na konkrétnom stroji Slave alebo na konkrétnom type stroja Slave, alebo môžete nechať Jenkinsa zvoliť ďalšieho dostupného Slave.

Nižšie uvedený diagram je zrejmý. Skladá sa z Jenkinsovho pána, ktorý riadi troch Jenkinsovho otroka.

Pozrime sa teraz na príklad, v ktorom sa Jenkins používa na testovanie v rôznych prostrediach, ako sú: Ubuntu, MAC, Windows atď.

Nižšie uvedený diagram predstavuje to isté:

Na vyššie uvedenom obrázku sú vykonávané nasledujúce funkcie:

  • Jenkins kontroluje v úložisku Git v pravidelných intervaloch všetky zmeny vykonané v zdrojovom kóde.
  • Každé zostavenie vyžaduje iné testovacie prostredie, čo nie je možné pre jeden server Jenkins. Na vykonávanie testovania v rôznych prostrediach používa Jenkins rôzne otroky, ako je znázornené na diagrame.
  • Jenkins Master požaduje, aby títo otroci vykonali testovanie a generovali protokoly o testoch.

Jenkins Build Pipeline

Používa sa na zistenie, ktorú úlohu Jenkins práve vykonáva. Niekoľko vývojárov často vykoná niekoľko rôznych zmien naraz, takže je užitočné vedieť, ktorá zmena sa testuje alebo ktorá zmena je v poradí alebo ktoré zostavenie je nefunkčné. To je miesto, kde prichádza na rad potrubie. Jenkins Pipeline vám poskytne prehľad o tom, kde až sú testy. V zostavovacom potrubí je zostavenie ako celok rozdelené do sekcií, ako sú napríklad testovanie jednotky, akceptačný test, balenie, vykazovanie a fázy nasadenia. Fázy potrubia môžu byť vykonávané sériovo alebo paralelne, a ak je jedna fáza úspešná, automaticky prejde do ďalšej fázy (z tohto dôvodu je relevantný názov „potrubie“). Nasledujúci obrázok ukazuje, ako vyzerá potrubie s viacerými zostavami.

Dúfam, že ste pochopili teoretické pojmy. Poďme sa teraz zabaviť pri praktickom cvičení.

Vytvorím nové pracovné miesto v Jenkins, to je Projekt Freestyle . K dispozícii sú však ešte 3 ďalšie možnosti. Pozrime sa na typy pracovných miest na vytváranie, ktoré sú k dispozícii v Jenkins.

Freestyle Project:

Pracovné miesta na zostavenie voľného štýlu sú pracovné miesta na všeobecné použitie, ktoré poskytujú maximálnu flexibilitu.Úloha zostavenia voľného štýlu je najpružnejšia a konfigurovateľná možnosť a je možné ju použiť pre akýkoľvek typ projektu. Nastaviť je pomerne jednoduché a veľa možností, ktoré tu konfigurujeme, sa objaví aj v iných úlohách zostavovania.

Úloha viacerých konfigurácií:

„Multikonfiguračný projekt“ (tiež označovaný ako „maticový projekt“) umožňuje spustiť rovnakú úlohu zostavenia v rôznych prostrediach. Používa sa na testovanie aplikácie v rôznych prostrediach, s rôznymi databázami alebo dokonca na rôznych zostavovacích strojoch.

Monitorovanie externej úlohy:

Úloha zostavenia „Monitorovať externú úlohu“ vám umožňuje sledovať neinteraktívne procesy, ako sú úlohy cron.

Projekt Maven:

„Projekt maven2 / 3“ je práca na zostavení špeciálne prispôsobená projektom Maven. Jenkins rozumie súborom pom Maven a projektovým štruktúram a môže informácie získané zo súboru pom použiť na zníženie množstva práce, ktorú musíte urobiť pri nastavovaní projektu.

Tu je video o Jenkinsovom návode na lepšie pochopenie Jenkinsa. Pozrite si toto výukové video o Jenkinsovi.

Začíname s Jenkinsom Výukový program pre Jenkins a DevOps Jenkins pre začiatočníkov Edureka

Vytvorenie zostavy pomocou Jenkinsa

Krok 1: Na domovskej stránke Jenkinsovho rozhrania vyberte Nová vec.

Krok 2: Zadajte meno a vyberte Freestyle projekt .

Krok 3: Na tejto nasledujúcej stránke môžete určiť konfiguráciu úlohy. Ako rýchlo zistíte, pri vytváraní nového projektu je k dispozícii niekoľko nastavení.Na tejto konfiguračnej stránke máte tiež možnosť Pridajte krok zostavenia vykonávať ďalšie akcie, ako napríklad spúšťanie skriptov. Vykonám shell skript.

Získate tak textové pole, do ktorého môžete pridať všetky potrebné príkazy. Môžete použiť skripty na spustenie rôznych úloh, ako je údržba servera, správa verzií, čítanie nastavení systému atď. V tejto časti použijem jednoduchý skript.

Krok 4: Uložte projekt a dostanete sa na stránku s prehľadom projektu. Tu môžete vidieť informácie o projekte vrátane jeho histórie.

Krok 5: Kliknite Stavať teraz na ľavej strane pre začatie stavby.

Krok 6: Ak chcete zobraziť viac informácií, kliknite na dané zostavenie v oblasti histórie zostavenia. Potom sa dostanete na stránku s prehľadom informácií o zostavení.

Krok 7: The Výstup konzoly odkaz na tejto stránke je obzvlášť užitočný na podrobné preskúmanie výsledkov práce.

Krok 8: Ak sa vrátite k domovu Jenkinsovej, zobrazí sa prehľad všetkých projektov a ich informácií vrátane stavu.

Stav stavby je indikovaný dvoma spôsobmi, ikonou počasia a farebnou guľou. Ikona počasia je obzvlášť užitočná, pretože zobrazuje záznam viacerých stavieb na jednom obrázku.

Ako môžete vidieť na obrázku vyššie, slnko predstavuje, že všetky moje stavby boli úspešné. Farba lopty nám dáva stav konkrétnej stavby, na obrázku vyššie je farba lopty modrá, čo znamená, že táto konkrétna stavba bola úspešná.

V tomto Jenkinsovom výučbe som práve uviedol úvodný príklad. V mojom ďalšom blogu vám ukážem, ako načítať a vytvoriť kód z úložiska GitHub pomocou Jenkinsa.

Ak ste to našli Jenkins Tutorial relevantné, pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Kurz certifikácie EdOkaka DevOps Certification Training pomáha študentom získať odborné znalosti v rôznych procesoch a nástrojoch DevOps, ako sú Puppet, Jenkins, Nagios a GIT na automatizáciu viacerých krokov v SDLC.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov a my sa vám ozveme.