Integrace Jenkins Git - užitečné pro každého profesionála DevOps



Tento blog pojednává o integraci Gitu s Jenkinsem. Rovněž pojednává o výhodách integrace Gitu s Jenkinsem spolu s ukázkou.

bez Jenkinse je určitě neúplná. Jenkins a Git jsou skvělá kombinace. V tomto článku tedy budu hovořit o integraci Jenkins Git a jejích výhodách. Ukazatele, kterým se budeme věnovat, jsou následující:

Začněme tedy s prvním tématem.





Co je Git - proč Git Přišel do existence?

Všichni víme „Nutnost je matkou všech vynálezů“. Podobně se ukázalo, že Git splňuje určité potřeby, kterým vývojáři čelili před Gitem. Pojďme tedy udělat krok zpět a dozvědět se vše o systémech pro správu verzí (VCS) a o tom, jak Git vznikl.

Řízení verzí je správa změn v dokumentech, počítačových programech, velkých webových stránkách a další shromažďování informací.



Existují dva typy VCS:

Centralizovaný VCS

Systém centralizovaného řízení verzí (CVCS) používá k ukládání všech souborů centrální server a umožňuje týmovou spolupráci. Funguje na jednom úložišti, do kterého mají uživatelé přímý přístup k centrálnímu serveru.

Pro lepší představu o CVCS si přečtěte následující obrázek:

Úložiště ve výše uvedeném diagramu označuje centrální server, který může být místní nebo vzdálený a který je přímo připojen ke každé pracovní stanici programátoru.

Každý programátor může extrahovat nebo Aktualizace jejich pracovní stanice s daty v úložišti. Mohou také provádět změny v datech nebo spáchat do úložiště. Každá operace se provádí přímo v úložišti.

I když se zdá docela pohodlné udržovat jedno úložiště, má některé zásadní nevýhody. Někteří z nich jsou:

  • Není k dispozici místně, což znamená, že k provedení jakékoli akce musíte být vždy připojeni k síti.

  • Protože je vše centralizováno, v každém případě dojde k havárii nebo poškození centrálního serveru, což bude mít za následek ztrátu všech dat projektu.

To je místo, kde Distributed VCS řeší problém.

Distribuovaný VCS

Tyto systémy se nemusí nutně spoléhat na centrální server k ukládání všech verzí souboru projektu.V Distribuovaném VCS má každý přispěvatel lokální kopii nebo „klon“ hlavního úložiště. Tady si každý udržuje vlastní lokální úložiště, které obsahuje všechny soubory a metadata přítomná v hlavním úložišti.

Pochopíte to lépe podle následujícího diagramu:

Jak vidíte na výše uvedeném diagramu, každý programátor udržuje místní úložiště samo o sobě, což je vlastně kopie nebo klon centrálního úložiště na jeho pevném disku. Mohou spáchat a aktualizovat své místní úložiště bez jakýchkoli zásahů.

Mohou aktualizovat svá místní úložiště novými daty z centrálního serveru pomocí operace s názvem „ sem „A ovlivnit změny v hlavním úložišti operací nazvanou„ tlačit „Z místního úložiště.

Nyní se pokusme vědět o definici Gitu.

  • Git je nástroj pro správu distribuovaných verzí, který podporuje distribuované nelineární pracovní postupy tím, že poskytuje zabezpečení dat pro vývoj kvalitního softwaru. Nástroje jako Git umožňují komunikaci mezi vývojovým a operačním týmem.

  • Normálně, když vyvíjíte velký projekt, máte obrovské množství spolupracovníků. Při provádění změn v projektu je tedy velmi důležitá komunikace mezi spolupracovníky.

  • Commit messages in Git hrají velmi důležitou roli při komunikaci mezi týmem. Kromě komunikace je nejdůležitějším důvodem pro používání Gitu to, že máte vždy u sebe stabilní verzi kódu.

  • Git proto hraje zásadní roli v úspěchu na DevOps.

Co je Jenkins?

Jenkins je open-source automatizační nástroj napsaný v Javě s doplňky vytvořenými pro účely kontinuální integrace. Jenkins se používá k neustálému vytváření a testování vašich softwarových projektů, což vývojářům usnadňuje integraci změn do projektu a usnadňuje uživatelům získat nové sestavení. Také vám umožňuje nepřetržitě dodávat software integrací s velkým počtem testovacích a implementačních technologií.

S Jenkinsem mohou organizace urychlit proces vývoje softwaru pomocí automatizace. Jenkins integruje vývojové procesy životního cyklu všeho druhu, včetně sestavení, dokumentace, testování, balení, fáze, nasazení, statické analýzy a mnohem více.

Jenkins dosahuje kontinuální integrace pomocí pluginů. Pluginy umožňují integraci různých fází DevOps. Chcete-li integrovat určitý nástroj, musíte si nainstalovat doplňky pro tento nástroj. Například Git, projekt Maven 2, Amazon EC2, vydavatel HTML atd.

Mezi výhody Jenkinse patří:

  • Jedná se o open-source nástroj s velkou podporou komunity.

  • Příliš snadná instalace.

  • Má více než 1000 pluginů, které vám usnadní práci. Pokud plugin neexistuje, můžete jej kódovat a sdílet s komunitou.

  • Je to zdarma.

  • Je postaven na Javě, a proto je přenosný na všechny hlavní platformy.

Nyní víte, jak Jenkins překonává tradiční nedostatky SDLC. Níže uvedená tabulka ukazuje srovnání mezi „Před a po Jenkinsovi“.

Před JenkinsemPo Jenkinsovi
Celý zdrojový kód byl sestaven a poté testován. Vyhledání a oprava chyb v případě selhání sestavení a testování bylo obtížné a časově náročné, což zase zpomaluje proces dodávání softwaru.Každý závazek provedený ve zdrojovém kódu je sestaven a testován. Takže místo kontroly celého zdrojového kódu se vývojáři musí soustředit pouze na konkrétní potvrzení. To vede k častému vydávání nového softwaru.
Vývojáři si musí počkat na výsledky testůVývojáři znají výsledek testu každého potvrzení provedeného ve zdrojovém kódu za běhu.
Celý proces je manuálníMusíte jenpotvrďte změny zdrojového kódu a Jenkins za vás zautomatizuje zbytek procesu.

Proč se Jenkins a Git používají společně?

Jak již bylo řečeno, Jít je správce řízení zdrojů. To je místo, kde si ponecháte svůj zdrojový kód pro sledování všech změn kódu, ke kterým dochází v průběhu času, a pro základní verze, když jsou připraveny k vydání.

Jenkins , na druhé straně, je řešení pro kontinuální integraci. Je navržen tak, aby automatizoval většinu úkolů, které musí vývojář dělat při vývoji nové aplikace (kontroly kvality kódu, vytváření, archivace artefaktů sestavení, testování integrace, nasazení do různých prostředí atd.) Bez řešení CI, vývojář musí trávit mnoho času opakováním těchto neproduktivních úkolů.

Výhody:

  • Git a Jenkins jsou oba velmi silní, ale s velkou mocí přichází i velká odpovědnost. Je docela běžné ospravedlnit zbytečné množství komplikace v potrubí sestavení jednoduše proto, že můžete.
  • Zatímco Jenkins má v rukávu spoustu elegantních triků, je snadné využít funkce Gitu, protože umožňuje správu vydání a sledování chyb výrazně jednodušší přesčas.
  • Můžeme to udělat tak, že budeme opatrní ohledně verzí kódu, který vytváříme, a vhodně je označíme. To zůstává informace související s vydáním v blízkosti kódu , na rozdíl od spoléhání se na Jenkinsova čísla sestavení nebo jiné přezdívky.
  • Ochrana větví Git snižuje riziko lidské chyby a automatizace co největšího počtu úkolů snižuje, jak často musíme tyto lidi otravovat (nebo čekat).

Příklad:

Vezměme si příklad nové funkce ve webové aplikaci. Bude identifikován a přiřazen vývojář k úkolu, který převezme stávající kódovou základnu z ovládacího prvku Zdroj - řekněme Git, provede své změny, provede testování jednotky, ručně zajistí kvalitu kódu a zkontroluje nový kód zpět do Gitu.

Pak musí vytvořit kód, nasadit jej do instance integrace, spustit testování integrace a jakmile se změna zdá uspokojivá, vznést požadavek na produkční nasazení. Teď, kdybychom měli miniona, který by se postaral o testování, budování, kontroly kvality a nasazení, se chudý vývojář mohl lépe zaměřit na ty věci, ve kterých je opravdu dobrý - implementace a vylepšení logiky této funkce.

Tímto přisluhovačem je Jenkins. Funguje jako orchestrátor pro spuštění všech těchto aktivit, jakmile je změna zkontrolována do řízení zdroje (Git), a tak dává vývojáři rychlou zpětnou vazbu, zda jsou změny, které provedl, dostatečně dobré pro nasazení v produkci nebo ne.Je to extrémně flexibilní, open-source a má spoustu pluginů, které dokážou téměř vše, co si přejete.

sloučit třídicí kód c ++

Ukázka

Zde uvidíme, jak integrovat Git s Jenkinsem. Je třeba dodržovat 5 kroků:

1. Vytvořte ukázkový program:

Můžete vytvořit libovolný ukázkový program, který chcete, jako je Java nebo Python nebo jakýkoli jiný program. Zde napíšeme jednoduchý Program Python který tiskne Hello, World!

2. Vytvořte úlohu Jenkinse:

  • Nejprve musíte začít Jenkins pomocí příkazového řádku.

  • Za tímto účelem musíte nejprve přejít do umístění Jenkins ve vašem systému a použít příkaz java -jar jenkins.war

  • Po spuštění tohoto příkazu otevřete webový prohlížeč a pomocí odkazu přejděte na domovskou stránku Jenkinse localhost: 8080 . Toto je výchozí číslo portu.

  • Otevřete domovskou stránku Jenkinse od zadání uživatelského jména a hesla.

  • Pro vytvoření projektu klikněte na Nový předmět a zadejte název projektu a vyberte Freestyle projekt . Klikněte na OK.

3. Přidejte tento program na Github:

  • Otevřete git bash ve vašem systému. Navigovat do umístění vašeho programu. Inicializujte prázdné úložiště pomocí příkazu git init .

  • Použijte příkaz git přidat. přidat soubor do pracovní oblasti z pracovního adresáře.

  • Nyní přidejte soubor do místního úložiště pomocí příkazu git commit -m „přidán soubor demo.py“ .

  • Nyní musíte tlačit tento soubor do vzdáleného úložiště. Za to přejděte do svého účtu GitHub a vytvořte nové veřejné úložiště. Nyní zkopírujte umístění tohoto úložiště a přejděte do terminálu git bash. Zde zadejte příkaz git remote add origin . Vzhledem k tomu, že jste se nyní připojili ke vzdálenému úložišti, můžete tam nyní pomocí příkazu odeslat svůj kód git push -u původ master. Chcete-li to ověřit, přejděte na účet GitHub a obnovte stránku. Uvidíte tam přidaný soubor.

4. Přidejte Git Plugin do Jenkins:

  • Na Jenkinsově domovské stránce přejděte na Spravujte Jenkinse .

  • Dále klikněte na Spravovat doplňky . Zde zkontrolujte, zda máte v nainstalované sekci plugin Git. Pokud zde není k dispozici, vyhledejte jej v dostupné sekci a stáhněte si jej.

5. Nakonfigurujte úlohu Jenkinse pro spuštění sestavení:

  • Přejít na projekt v Jenkins, který jsme vytvořili v kroku 2. Zde v části Správa zdrojového kódu, vyberte git a zadejte odkaz na veřejné úložiště, které jste vytvořili v kroku 3. Dále do Vytvořte sekci Spouštěče , klikněte na Možnost dotazování SCM . Zde v části Plán musíte zadat pět hvězdiček oddělených mezerou. To není nic jiného než syntaxe cron pro vaši práci. To znamená, že Jenkins každou minutu zkontroluje jakékoli změny ve zdrojovém kódu, a pokud dojde ke změně, spustí Jenkinsovu sestavení.

  • Klikněte na Aplikovat a pak dál Uložit . Dále na domovské stránce projektu klikněte na Stavět hned . Tím se spustí projekt a ve výstupu konzoly uvidíte výstup svého programu stav vaší úlohy Jenkins. Pokud je vše v pořádku, zobrazí se jako Úspěch .

Takto se provádí integrace Jenkins Git. Tím jsme se dostali na konec tohoto článku o integraci Jenkins Git. Doufám, že se vám tento článek líbil.

Nyní, když jste pochopili co Integrace Jenkins Git je, podívejte se na toto Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Kurz Certifikace Edureka DevOps pomáhá studentům pochopit, co je DevOps, a získat odborné znalosti v různých procesech a nástrojích DevOps, jako jsou Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack a GIT pro automatizaci více kroků v SDLC.

Máte na nás dotaz? Uveďte to prosím v sekci komentáře a my se vám ozveme