Integrácia Jenkins Git - užitočné pre každého profesionála DevOps



Tento blog pojednáva o integrácii Gitu s Jenkinsom. Taktiež sa tu diskutuje o výhodách integrácie Gitu s Jenkinsom spolu s ukážkou.

je bez Jenkinsa určite neúplná. Jenkins spolu s Gitom sú úžasnou kombináciou. V tomto článku teda budem hovoriť o integrácii Jenkins Git a jej výhodách. Ukazovatele, ktorým sa budeme venovať, sú nasledujúce:

Začnime teda prvou témou.





Čo je Git - Prečo Git Prišiel do existencie?

Všetci vieme: „Nevyhnutnosť je matkou všetkých vynálezov“. Podobne sa ukázalo, že Git spĺňa určité nevyhnutnosti, ktorým vývojári čelili pred Gitom. Poďme teda o krok späť a dozvieme sa všetko o systémoch riadenia verzií (VCS) a o tom, ako Git vznikol.

Kontrola verzie je správa zmien dokumentov, počítačových programov, veľkých webových stránok a iného zhromažďovania informácií.



Existujú dva typy VCS:

Centralizovaná VCS

Centralizovaný systém riadenia verzií (CVCS) používa na ukladanie všetkých súborov centrálny server a umožňuje tímovú spoluprácu. Funguje na jednom úložisku, do ktorého majú používatelia priamy prístup k centrálnemu serveru.

V nasledujúcej schéme nájdete lepšiu predstavu o CVCS:

Úložisko vo vyššie uvedenom diagrame označuje centrálny server, ktorý môže byť lokálny alebo vzdialený a ktorý je priamo pripojený ku každej pracovnej stanici programátora.

Každý programátor môže extrahovať resp aktualizovať ich pracovných staníc s údajmi v úložisku. Môžu tiež robiť zmeny v údajoch resp spáchať do úložiska. Každá operácia sa vykonáva priamo v úložisku.

Aj keď sa zdá byť celkom pohodlné udržiavať jedno úložisko, má niekoľko zásadných nevýhod. Niektoré z nich sú:

  • Nie je lokálne dostupný, čo znamená, že ak chcete vykonať akúkoľvek akciu, musíte byť vždy pripojení k sieti.

  • Pretože je všetko centralizované, v každom prípade havárie alebo poškodenia centrálneho servera spôsobí stratu všetkých údajov projektu.

To je miesto, kde Distributed VCS rieši problém.

Distribuovaný VCS

Tieto systémy sa nevyhnutne nespoliehajú na to, že centrálny server uloží všetky verzie projektového súboru.V Distribuovanom VCS má každý prispievateľ lokálnu kópiu alebo „klon“ hlavného úložiska. Tu si každý udržiava svoje lokálne úložisko, ktoré obsahuje všetky súbory a metadáta prítomné v hlavnom úložisku.

Lepšie to pochopíte podľa nasledujúcej schémy:

Ako môžete vidieť na vyššie uvedenom diagrame, každý programátor si sám udržiava lokálne úložisko, čo je vlastne kópia alebo klon centrálneho úložiska na jeho pevnom disku. Môžu sa zaviazať a aktualizovať svoje miestne úložisko bez akýchkoľvek zásahov.

Môžu aktualizovať svoje lokálne úložiská novými údajmi z centrálneho servera pomocou operácie s názvom „ ťahať „A ovplyvní zmeny v hlavnom úložisku operáciou s názvom„ tlačiť ”Z ich miestneho úložiska.

Teraz sa pokúsime vedieť o definícii Gitu.

  • Git je nástroj na správu distribuovanej verzie, ktorý podporuje distribuované nelineárne pracovné toky poskytnutím záruky údajov pre vývoj kvalitného softvéru. Nástroje ako Git umožňujú komunikáciu medzi vývojovým a operačným tímom.

  • Pri vytváraní veľkého projektu máte zvyčajne obrovské množstvo spolupracovníkov. Pri vykonávaní zmien v projekte je preto veľmi dôležitá komunikácia medzi spolupracovníkmi.

  • Správy o potvrdení v Gite hrajú veľmi dôležitú úlohu pri komunikácii medzi tímom. Okrem komunikácie je najdôležitejším dôvodom používania Gitu to, že máte vždy pri sebe stabilnú verziu kódu.

  • Preto Git hrá zásadnú úlohu pri úspechu v DevOps.

Čo je Jenkins?

Jenkins je automatizačný nástroj otvoreného zdroja napísaný v prostredí Java s doplnkami vytvorenými na účely nepretržitej integrácie. Jenkins sa používa na neustále vytváranie a testovanie vašich softvérových projektov, čo vývojárom uľahčuje integráciu zmien do projektu a používateľom uľahčuje získanie nového zostavenia. Umožňuje vám tiež neustále dodávať softvér pomocou integrácie s veľkým počtom testovacích a implementačných technológií.

Vďaka spoločnosti Jenkins môžu organizácie urýchliť proces vývoja softvéru pomocou automatizácie. Jenkins integruje vývojové procesy životného cyklu všetkého druhu vrátane zostavovania, dokumentovania, testovania, balenia, fázy, nasadenia, statickej analýzy a oveľa viac.

Jenkins dosahuje kontinuálnu integráciu pomocou doplnkov. Pluginy umožňujú integráciu rôznych stupňov DevOps. Ak chcete integrovať konkrétny nástroj, musíte si nainštalovať doplnky pre tento nástroj. Napríklad Git, projekt Maven 2, Amazon EC2, vydavateľ HTML atď.

Medzi výhody spoločnosti Jenkins patria:

  • Je to nástroj s otvoreným zdrojovým kódom a veľkou podporou komunity.

  • Príliš ľahká inštalácia.

  • Má viac ako 1 000 doplnkov, ktoré vám uľahčia prácu. Ak doplnok neexistuje, môžete ho kódovať a zdieľať s komunitou.

  • Je to zadarmo.

  • Je postavený na prostredí Java, a preto je prenosný na všetky hlavné platformy.

Teraz už viete, ako Jenkins prekonáva tradičné nedostatky SDLC. Nasledujúca tabuľka zobrazuje porovnanie medzi „Pred a po Jenkinsovi“.

Pred JenkinsomPo Jenkinsovi
Celý zdrojový kód bol zostavený a potom otestovaný. Vyhľadanie a oprava chýb v prípade zlyhania zostavenia a testu bolo náročné a časovo náročné, čo následne spomaľovalo proces dodávania softvéru.Každý záväzok vykonaný v zdrojovom kóde je zostavený a testovaný. Namiesto kontroly celého zdrojového kódu sa teda vývojári musia sústrediť iba na konkrétne potvrdenie. To vedie k častému vydávaniu nového softvéru.
Vývojári si musia počkať na výsledky testovVývojári poznajú výsledok testu každého potvrdenia vykonaného v zdrojovom kóde za behu.
Celý proces je manuálnyPotrebujete ibavykonajte zmeny zdrojového kódu a Jenkins za vás automatizuje zvyšok procesu.

Prečo sa Jenkins a Git používajú spolu?

Ako už bolo uvedené, Choď je manažér riadenia zdrojov. To je miesto, kde si ponecháte zdrojový kód na sledovanie všetkých zmien kódu, ku ktorým dôjde v priebehu času, a na vytvorenie základných verzií, keď budú pripravené na vydanie.

Jenkins , na druhej strane, je riešenie pre nepretržitú integráciu. Je navrhnutý tak, aby automatizoval väčšinu úloh, ktoré musí vývojár robiť pri vývoji novej aplikácie (kontroly kvality kódu, vytváranie, archivácia artefaktov zostavenia, testovanie integrácie, nasadenie do rôznych prostredí atď.). musí tráviť veľa času opakovaním týchto neproduktívnych úloh.

Výhody:

  • Git a Jenkins sú obaja veľmi silní, ale s veľkou mocou prichádza aj veľká zodpovednosť. Je úplne bežné ospravedlňovať zbytočné množstvo komplikácia v stavbe plynovodu jednoducho preto, že môžete.
  • Aj keď má Jenkins v rukáve množstvo šikovných trikov, je ľahké využiť funkcie Gitu, pretože umožňuje správu vydaní a sledovanie chýb výrazne jednoduchšie v priebehu času.
  • Môžeme to urobiť opatrným sledovaním verzií kódu, ktoré zostavujeme, a ich príslušným označovaním. Toto zostáva informácie týkajúce sa vydania podobné kódu , na rozdiel od spoliehania sa na Jenkinsove čísla zostavenia alebo iné prezývky.
  • Ochrana pobočiek Git znižuje riziko ľudskej chyby a automatizácia čo najväčšieho počtu úloh znižuje to, ako často musíme týchto ľudí otravovať (alebo čakať).

Príklad:

Zoberme si príklad novej funkcie webovej aplikácie. Bude identifikovaný a priradený vývojár k úlohe, ktorý prevezme existujúcu databázu kódov z ovládacieho prvku Zdroj - povedzme Git, urobí svoje zmeny, vykoná testovanie jednotiek, zabezpečí kvalitu kódu ručne a skontroluje nový kód späť do Gitu.

Potom musí vytvoriť kód, nasadiť ho do inštancie integrácie, spustiť integračné testovanie a akonáhle sa zmena zdá uspokojivá, vzniesť požiadavku na produkčné nasadenie. Keby sme teraz mali prisluhovača, ktorý by sa postaral o toto testovanie, stavanie, kontrolu kvality a nasadenie, mohol sa chudobný vývojár lepšie zamerať na tie veci, v ktorých je naozaj dobrý - implementácia a vylepšenie logiky tejto funkcie.

Týmto prisluhovačom je Jenkins. Funguje ako orchestrátor na vykonávanie všetkých týchto aktivít, akonáhle je zmena zapísaná do riadenia zdroja (Git), a poskytuje tak vývojárovi rýchlu spätnú väzbu, či sú vykonané zmeny dostatočné na nasadenie v produkcii alebo nie.Je to mimoriadne flexibilný zdroj typu open-source a má kopu doplnkov, ktoré dokážu takmer všetko, čo chcete.

nastavenie zatmenia pre javu

Ukážka

Tu uvidíme, ako integrovať Git s Jenkinsom. Musíte postupovať podľa 5 krokov:

1. Vytvorte ukážkový program:

Môžete vytvoriť ľubovoľný požadovaný ukážkový program, napríklad Java alebo Python alebo akýkoľvek iný program. Tu napíšeme jednoduchý Program Python ktorý tlačí Hello, World!

2. Vytvorte prácu Jenkins:

  • Najprv musíte štart Jenkins pomocou príkazového riadku.

  • Za týmto účelom musíte najskôr prejsť do umiestnenia Jenkins vo vašom systéme a použiť príkaz java -jar jenkins.war

  • Po spustení tohto príkazu otvorte webový prehliadač a pomocou odkazu prejdite na domovskú stránku Jenkinsa localhost: 8080 . Toto je predvolené číslo portu.

  • Otvorte domovskú stránku Jenkins do zadanie užívateľského mena a hesla.

  • Pre vytvorenie projektu kliknite na Nová vec a vstúpte do Názov projektu a vyberte Freestyle projekt . Kliknite na OK.

3. Pridajte tento program na Github:

  • Otvorte git bash vo vašom systéme. Navigovať na umiestnenie vášho programu. Prázdne úložisko inicializujte pomocou príkazu git init .

  • Použite príkaz git pridať. pridať súbor do pracovnej oblasti z pracovného adresára.

  • Teraz pomocou príkazu pridajte súbor do miestneho úložiska git commit -m „pridaný súbor demo.py“ .

  • Teraz musíš tlačiť tento súbor do vzdialeného úložiska. Prejdite do svojho účtu GitHub a vytvorte nové verejné úložisko. Teraz skopírujte umiestnenie tohto úložiska a choďte do terminálu git bash. Sem zadajte príkaz git remote add origin . Keďže ste sa teraz pripojili k vzdialenému úložisku, môžete tam teraz vložiť svoj kód pomocou príkazu git push -u origin master. Ak to chcete overiť, prejdite do účtu GitHub a obnovte stránku. Uvidíte tam pridaný súbor.

4. Pridajte doplnok Git do servera Jenkins:

  • Na Jenkinsovej domovskej stránke choďte na Spravujte Jenkinsa .

  • Ďalej kliknite na Spravovať doplnky . Tu skontrolujte, či máte nainštalovaný Git plugin. Ak tu nie je k dispozícii, vyhľadajte ho v sekcii dostupné a stiahnite si ho.

5. Nakonfigurujte úlohu Jenkinsa na spustenie zostavenia:

  • Prejdite na projekt v Jenkinsovi, ktorý sme vytvorili v kroku 2. Tu v časti Správa zdrojového kódu, vyberte git a zadajte odkaz na verejné úložisko, ktoré ste vytvorili v kroku 3. Ďalej do okna Vytvorte sekciu Spúšťače , kliknite na Poll možnosť SCM . Tu v časti Časový rozvrh musíte zadať päť hviezdičiek oddelených medzerou. Toto nie je nič iné ako syntax cron pre vašu prácu. To znamená, že Jenkins bude každú minútu kontrolovať akékoľvek zmeny v zdrojovom kóde a ak dôjde k akejkoľvek zmene, spustí sa Jenkinsovo zostavenie.

  • Kliknite na Podať žiadosť a potom ďalej Uložiť . Ďalej na domovskej stránke projektu kliknite na Stavať teraz . Spustí sa projekt a na výstupe z konzoly uvidíte výstup vášho programu stav vašej úlohy Jenkins. Ak je všetko v poriadku, zobrazí sa ako Úspech .

Takto sa robí integrácia Jenkins Git. Týmto sme sa dostali na koniec tohto článku o integrácii Jenkins Git. Dúfam, že sa vám tento článok páčil.

Teraz, keď ste pochopili čo Integrácia Jenkins Git je, pozrite sa na toto 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 pochopiť, čo je DevOps, a získať odborné znalosti v rôznych procesoch a nástrojoch DevOps, ako sú Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack 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