Vodič za Jenkins | Neprekidna integracija pomoću Jenkinsa | Edureka

Jenkins Tutorial je drugi blog bloga Jenkins. Ovaj blog govori o Jenkins distribuiranoj arhitekturi i kako stvoriti gradnju pomoću Jenkinsa.

Vodič za Jenkinsa

Jenkins je jedan od najvažnijih alata u . Nadam se da ste pročitali moj prethodni blog na . U ovom blogu Jenkins Tutorial usredotočit ću se na Jenkins arhitekturu i Jenkinsov cjevovod za izgradnju, a zajedno s tim pokazat ću vam kako stvoriti gradnju u Jenkinsu.

Prije nego što nastavimo s Jenkinsovim vodičem, ključna preuzimanja s prethodnog bloga su:





  • Jenkins se koristi za integriranje svih faza DevOps uz pomoć dodataka.
  • Često korišteni Jenkins dodaci su Git, Amazon EC2, Maven 2 projekt, HTML izdavač itd.
  • Jenkins ima preko 1000 dodataka i147.000 aktivnih instalacija, zajedno s preko milijun korisnika širom svijeta.
  • Uz kontinuiranu integraciju svaku promjenu u izvornom kodujeizgrađena. Obavlja i druge funkcije,to ovisi o alatu koji se koristi za kontinuiranu integraciju.
  • Nokia je s Nightly build prešla na kontinuiranu integraciju.
  • Proces prije kontinuirane integracije imao je mnogo mana. Kao rezultat toga, ne samo da je isporuka softvera bila spora, već i kvaliteta softvera nije bila na visini. Programeri su također imali teško vrijeme u pronalaženju i ispravljanju programskih pogrešaka.
  • Kontinuirana integracija s Jenkinsom prevladala je ove nedostatke kontinuiranim pokretanjem gradnje i testiranja za svaku promjenu u izvornom kodu.

Sada je pravo vrijeme za razumijevanje Jenkinsove arhitekture.

Jenkins Arhitektura

Dopustite nam da revidiramo samostalnu Jenkinsovu arhitekturu koju sam vam objasnio u , donji dijagram prikazuje isto.



Jenkins samostalna arhitektura - što je Jenkins - Edureka

Ovaj jedini Jenkinsov poslužitelj nije bio dovoljan da zadovolji određene zahtjeve poput:

  • Ponekad će vam trebati nekoliko različitih okruženja za testiranje vaših gradnji. To ne može učiniti jedan Jenkinsov poslužitelj.
  • Ako se redovito grade veći i teži projekti, jedan Jenkinsov poslužitelj ne može jednostavno podnijeti čitav teret.

Da bi se riješile gore navedene potrebe, predstavljena je Jenkinsova distribuirana arhitektura.



Jenkinsova distribuirana arhitektura

Jenkins koristi Master-Slave arhitekturu za upravljanje distribuiranim gradnjama. U ovoj arhitekturi, Master i Slave komuniciraju putem TCP / IP protokola.

Majstor Jenkins

Vaš glavni Jenkinsov poslužitelj je Master. Učiteljev posao je da obrađuje:

  • Zakazivanje građevinskih poslova.
  • Otpremajući građevine robovima za stvarno izvršenje.
  • Nadgledajte robove (po mogućnosti ih povežite na mrežu i izvan nje, ako je potrebno).
  • Snimanje i predstavljanje rezultata izrade.
  • Glavna instanca Jenkinsa također može izravno izvršavati poslove gradnje.

Jenkins Slave

Slave je Java izvršna datoteka koja se izvodi na udaljenom stroju. Slijede karakteristike Jenkins Slaves:

  • Čuje zahtjeve instance Jenkins Master.
  • Robovi mogu raditi na raznim operativnim sustavima.
  • Posao Roba je raditi kako im se kaže, što uključuje izvršavanje građevinskih poslova koje je poslao Gospodar.
  • Možete konfigurirati projekt da se uvijek izvodi na određenom Slave stroju ili određenoj vrsti Slave stroja ili jednostavno pustiti Jenkinsa da odabere sljedeći dostupni Slave.

Dijagram u nastavku je samorazumljiv. Sastoji se od Jenkins Master-a koji upravlja s tri Jenkins Slave-a.

Pogledajmo sada primjer u kojem se Jenkins koristi za testiranje u različitim okruženjima poput: Ubuntu, MAC, Windows itd.

što je __init__ u pythonu

Dijagram u nastavku predstavlja isto:

Sljedeće se funkcije izvode na gornjoj slici:

  • Jenkins provjerava Git spremište u povremenim intervalima radi bilo kakvih promjena u izvornom kodu.
  • Svaka gradnja zahtijeva različito testno okruženje što nije moguće za jedan Jenkinsov poslužitelj. Za provođenje testiranja u različitim okruženjima Jenkins koristi razne Slave kako je prikazano na dijagramu.
  • Jenkins Master traži od ovih robova da izvrše testiranje i generiraju izvještaje o testiranju.

Jenkinsov cjevovod za izgradnju

Koristi se da bi se znalo koji zadatak Jenkins trenutno izvršava. Često nekoliko programera odjednom napravi nekoliko različitih promjena, pa je korisno znati koja se promjena testira ili koja promjena sjedi u redu ili koja je gradnja slomljena. Tu cjevovod dolazi u sliku. Jenkinsov cjevovod daje vam pregled mjesta na kojima se rade testovi. U cjevovodu gradnje, cjelina izrade podijeljena je na dijelove, kao što su jedinični test, test prihvaćanja, pakiranje, izvještavanje i faze postavljanja. Faze cjevovoda mogu se izvoditi u nizu ili paralelno, a ako je jedna faza uspješna, automatski se prelazi na sljedeću fazu (otuda i relevantnost naziva 'cjevovod'). Sljedeća slika prikazuje kako izgleda cjevovod višestruke gradnje.

pretvorba niza u datum u javi

Nadam se da ste razumjeli teorijske koncepte. Ajd, zabavimo se praktično.

Otvorit ću novi posao u Jenkinsu, to je Projekt slobodnog stila . Međutim, dostupne su još 3 mogućnosti. Pogledajmo vrste građevinskih poslova dostupnih u Jenkinsu.

Projekt slobodnog stila:

Poslovi slobodne gradnje su građevinski poslovi opće namjene, koji pružaju maksimalnu fleksibilnost.Posao izrade slobodnog stila najfleksibilnija je i najkonfigurabilnija opcija i može se koristiti za bilo koju vrstu projekta. Postavljanje je relativno jednostavno, a mnoge opcije koje ovdje konfiguriramo pojavljuju se i u drugim poslovima izrade.

Višekonfiguracijski posao:

„Multikonfiguracijski projekt“ (koji se naziva i „matrični projekt“) omogućuje vam pokretanje istog posla izrade u različitim okruženjima. Koristi se za testiranje aplikacije u različitim okruženjima, s različitim bazama podataka ili čak na različitim strojevima za izradu.

Nadgledajte vanjski posao:

Zadatak izrade 'Nadgledanje vanjskog posla' omogućuje vam da nadgledate neinteraktivne procese, poput cron poslova.

Projekt Maven:

'Maven2 / 3 projekt' je posao izrade posebno prilagođen Maven projektima. Jenkins razumije Maven pom datoteke i strukture projekata i može koristiti podatke prikupljene iz datoteke pom kako bi smanjio posao koji trebate učiniti za postavljanje vašeg projekta.

Evo videozapisa o Jenkinsovom vodiču za bolje razumijevanje Jenkinsa. Pogledajte ovaj Jenkinsov tutorial video.

Početak rada s Jenkinsom | Vodič za Jenkinsa i DevOps | Jenkins za početnike | Edureka

Stvaranje građe pomoću Jenkinsa

Korak 1: Iz kuće Jenkins sučelja odaberite Nova stvar.

Korak 2: Unesite ime i odaberite Projekt slobodnog stila .

Korak 3: Na ovoj sljedećoj stranici odredite konfiguraciju posla. Kao što ćete brzo primijetiti, prilikom izrade novog projekta dostupne su brojne postavke.Na ovoj stranici s konfiguracijom također imate mogućnost Dodajte korak gradnje za izvođenje dodatnih radnji poput izvođenja skripti. Izvršit ću skriptu ljuske.

To će vam pružiti okvir za tekst u koji možete dodati sve naredbe koje su vam potrebne. Skripte možete koristiti za pokretanje raznih zadataka poput održavanja poslužitelja, kontrole verzija, postavki sustava za čitanje itd. Upotrijebit ću ovaj odjeljak za pokretanje jednostavne skripte.

Korak 4: Spremite projekt i bit ćete preusmjereni na stranicu s pregledom projekta. Ovdje možete vidjeti informacije o projektu, uključujući njegovu izgrađenu povijest.

Korak 5: Klik Izgradi odmah s lijeve strane za početak izrade.

Korak 6: Da biste vidjeli više informacija, kliknite tu građu u području povijesti gradnje, nakon čega ćete biti preusmjereni na stranicu s pregledom podataka o gradnji.

Korak 7: The Izlaz konzole Veza na ovoj stranici posebno je korisna za detaljno ispitivanje rezultata posla.

Korak 8: Ako se vratite kući Jenkins, vidjet ćete pregled svih projekata i njihovih podataka, uključujući status.

program množenja matrica u javi

Status građevine prikazuje se na dva načina, vremenskom ikonom i obojenom kuglicom. Ikona vremena je posebno korisna jer vam prikazuje zapis više gradnji na jednoj slici.

Kao što možete vidjeti na gornjoj slici, sunce predstavlja da su sve moje gradnje bile uspješne. Boja lopte daje nam status određene građe, na gornjoj slici boja kuglice je plava što znači da je ova određena gradnja bila uspješna.

U ovom Jenkinsovom vodiču upravo sam dao uvodni primjer. U sljedećem blogu pokazat ću vam kako povući i izgraditi kôd iz GitHub spremišta pomoću Jenkinsa.

Ako ste ovo pronašli Vodič za Jenkinsa relevantno, pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edureka DevOps certifikacijski tečaj pomaže učenicima da steknu stručnost u različitim DevOps procesima i alatima kao što su Puppet, Jenkins, Nagios i GIT za automatizaciju više koraka u SDLC-u.

Imate pitanje za nas? Molimo spomenite to u odjeljku za komentare i javit ćemo vam se.