Jenkins Tutorial | Patuloy na Pagsasama-sama Gamit ang Jenkins | Edureka



Ang Jenkins Tutorial ay ang pangalawang blog ng serye ng blog ni Jenkins. Pinag-uusapan ng blog na ito ang tungkol sa pamamahagi ni Jenkins ng arkitektura at kung paano lumikha ng isang build gamit ang Jenkins.

Jenkins Tutorial

Si Jenkins ay isa sa pinakamahalagang tool sa . Sana nabasa mo na ang dati kong blog sa . Sa blog ng Jenkins Tutorial na ito, mag-focus ako sa arkitektura ni Jenkins at bumuo ng Jenny pipeline kasama ang ipapakita ko sa iyo kung paano lumikha ng isang build sa Jenkins.

Bago kami magpatuloy sa Jenkins Tutorial, ang mga pangunahing takeaway mula sa nakaraang blog ay:





  • Ginamit ang Jenkins upang isama ang lahat ng mga yugto ng DevOps sa tulong ng mga plugin.
  • Ang mga karaniwang ginagamit na plugin ng Jenkins ay ang Git, Amazon EC2, proyekto ng Maven 2, publisher ng HTML atbp.
  • Si Jenkins ay may higit sa 1000 mga plugin at147,000 mga aktibong pag-install kasama ang higit sa 1 milyong mga gumagamit sa buong mundo.
  • Sa Patuloy na Pagsasama-sama ng bawat pagbabago na ginawa sa source codeayitinayo Gumagawa rin ito ng iba pang mga pag-andar,depende iyon sa tool na ginamit para sa Patuloy na Pagsasama.
  • Ang Nokia ay lumipat mula sa Nightly build patungo sa Continuous Integration.
  • Ang proseso bago ang Patuloy na Pagsasama ay may maraming mga pagkukulang. Bilang isang resulta, hindi lamang ang paghahatid ng software ay mabagal ngunit ang kalidad ng software ay hindi rin nakasalalay sa marka. Ang mga tagabuo ay nagkaroon din ng isang matigas na oras sa paghahanap at pag-aayos ng mga bug.
  • Ang tuluy-tuloy na Pagsasama kay Jenkins ay nalampasan ang mga pagkukulang na ito sa pamamagitan ng patuloy na pag-trigger ng pagbuo at pagsubok para sa bawat pagbabago na ginawa sa source code.

Ngayon ang tamang oras upang maunawaan ang arkitekturang Jenkins.

Jenkins Architecture

Suriin natin ang nakapag-iisang arkitekturang Jenkins na ipinaliwanag ko sa iyo sa , sa ibaba ng diagram ay naglalarawan ng pareho.



Jenkins Standalone Architecture - Ano ang Jenkins - Edureka

Ang solong Jenkins server na ito ay hindi sapat upang matugunan ang ilang mga kinakailangan tulad ng:

  • Minsan maaaring kailanganin mo ng maraming iba't ibang mga kapaligiran upang subukan ang iyong mga build. Hindi ito magagawa ng isang solong server ni Jenkins.
  • Kung ang mas malaki at mabibigat na mga proyekto ay maitayo sa isang regular na batayan kung gayon ang isang solong Jenkins server ay hindi maaaring hawakan ang buong karga.

Upang matugunan ang nasabing mga pangangailangan sa itaas, ipinakilala ang Jenkins na namahagi ng arkitektura.



Ipinamahagi ni Jenkins ang Arkitektura

Gumagamit si Jenkins ng isang arkitekturang Master-Slave upang pamahalaan ang mga ipinamamahaging build. Sa arkitekturang ito, ang Master at Slave ay nakikipag-usap sa pamamagitan ng TCP / IP protocol.

Jenkins Master

Ang iyong pangunahing server ng Jenkins ay ang Master. Ang gawain ng Master ay upang hawakan:

  • Pag-iskedyul ng mga trabaho sa pagbuo.
  • Ang pagpapadala ay nagtatayo sa mga alipin para sa aktwal na pagpapatupad.
  • Subaybayan ang mga alipin (posibleng dalhin sila sa online at offline kung kinakailangan).
  • Pagrekord at paglalahad ng mga resulta sa pagbuo.
  • Ang isang halimbawa ng Master ni Jenkins ay maaari ring direktang magpatupad ng mga trabaho sa pagbuo.

Jenkins Slave

Ang isang Alipin ay isang maipapatupad na Java na tumatakbo sa isang remote machine. Ang mga sumusunod ay ang mga katangian ng Jenkins Slaves:

hanapin ang max na numero sa array java
  • Naririnig nito ang mga kahilingan mula sa halimbawa ng Jenkins Master.
  • Ang mga alipin ay maaaring tumakbo sa iba't ibang mga operating system.
  • Ang trabaho ng isang Alipin ay upang gawin ang sinabi sa kanila, na nagsasangkot ng pagpapatupad ng mga trabaho sa pagtatayo na ipinadala ng Master.
  • Maaari mong i-configure ang isang proyekto upang palaging tumakbo sa isang partikular na Slave machine, o isang partikular na uri ng Slave machine, o hayaan lang na piliin ni Jenkins ang susunod na magagamit na Alipin.

Ang diagram sa ibaba ay nagpapaliwanag sa sarili. Binubuo ito ng isang Jenkins Master na namamahala sa tatlong Jenkins Slave.

Tingnan natin ngayon ang isang halimbawa kung saan ginagamit si Jenkins para sa pagsubok sa iba't ibang mga kapaligiran tulad ng: Ubuntu, MAC, Windows atbp.

Ang diagram sa ibaba ay kumakatawan sa pareho:

Ang mga sumusunod na pag-andar ay ginaganap sa itaas na imahe:

  • Sinusuri ni Jenkins ang repository ng Git sa mga pana-panahong agwat para sa anumang mga pagbabago na ginawa sa source code.
  • Ang bawat pagbuo ay nangangailangan ng isang iba't ibang mga kapaligiran sa pagsubok na kung saan ay hindi posible para sa isang solong Jenkins server. Upang maisagawa ang pagsubok sa iba't ibang mga kapaligiran si Jenkins ay gumagamit ng iba't ibang mga Alipin tulad ng ipinakita sa diagram.
  • Hinihiling ni Jenkins Master ang mga Alipin na ito upang magsagawa ng pagsubok at upang makabuo ng mga ulat sa pagsubok.

Bumuo ng Pipeline si Jenkins

Ginagamit ito upang malaman kung aling gawain ang kasalukuyang ginagawa ni Jenkins. Kadalasan maraming iba't ibang mga pagbabago ang ginagawa ng maraming mga developer nang sabay-sabay, kaya kapaki-pakinabang na malaman kung aling pagbabago ang nasubok o kung aling pagbabago ang nakaupo sa pila o kung aling pagbuo ang nasira. Dito makukuha ang larawan ng pipeline. Nagbibigay sa iyo ang Jenkins Pipeline ng isang pangkalahatang ideya ng kung saan hanggang sa ang mga pagsubok. Sa pagbuo ng pipeline ang buo bilang isang kabuuan ay pinaghiwa-hiwalay sa mga seksyon, tulad ng pagsubok ng yunit, pagsubok sa pagtanggap, pagbabalot, pag-uulat at mga yugto ng paglawak. Ang mga phase ng pipeline ay maaaring isagawa sa serye o parallel, at kung matagumpay ang isang yugto, awtomatiko itong lumilipat sa susunod na yugto (samakatuwid ang kaugnayan ng pangalang 'pipeline'). Ipinapakita ng imahe sa ibaba kung paano ang hitsura ng maraming pagbuo ng Pipeline.

Sana naiintindihan mo ang mga teoretikal na konsepto. Ngayon, magsaya tayo sa pamamagitan ng hands-on.

Lilikha ako ng isang bagong trabaho sa Jenkins, ito ay isang Proyekto ng Freestyle . Gayunpaman, may 3 iba pang mga pagpipilian na magagamit. Tingnan natin ang mga uri ng mga trabaho sa pagbuo na magagamit sa Jenkins.

Proyekto ng Freestyle:

Ang mga trabaho sa freestyle build ay mga trabaho sa pangkalahatang layunin na pagbuo, na nagbibigay ng maximum na kakayahang umangkop.Ang freestyle build job ay ang pinaka-kakayahang umangkop at mai-configure na pagpipilian, at maaaring magamit para sa anumang uri ng proyekto. Ito ay medyo prangka upang i-set up, at marami sa mga pagpipilian na nai-configure namin dito ay lilitaw din sa iba pang mga trabaho sa pagbuo.

Multiconfiguration Job:

Pinapayagan ka ng 'proyekto ng maraming pag-configure' (tinukoy din bilang isang 'proyekto ng matrix') na patakbuhin ang parehong trabaho sa pagbuo sa iba't ibang mga kapaligiran. Ginagamit ito para sa pagsubok ng isang application sa iba't ibang mga kapaligiran, na may iba't ibang mga database, o kahit sa iba't ibang mga build machine.

Subaybayan ang isang Panlabas na Trabaho:

Ang trabaho na 'Subaybayan ang isang panlabas na trabaho' ay nagbibigay-daan sa iyo na bantayan ang mga hindi pang-interactive na proseso, tulad ng mga cron job.

Maven Project:

Ang 'maven2 / 3 na proyekto' ay isang build job na espesyal na inangkop sa mga proyekto ng Maven. Naiintindihan ni Jenkins ang mga file ng Maven pom at mga istraktura ng proyekto, at maaaring magamit ang impormasyong nakuha mula sa file na pom upang mabawasan ang gawaing kailangan mong gawin upang mai-set up ang iyong proyekto.

Narito ang isang video sa Jenkins tutorial para sa mas mahusay na pag-unawa sa Jenkins. Suriin ang video ng tutorial na Jenkins na ito.

pangunahing istraktura ng programang java

Pagsisimula Sa Jenkins | Tutorial nina Jenkins at DevOps | Jenkins para sa mga Nagsisimula | Edureka

Lumilikha ng isang Build Gamit ang Jenkins

Hakbang 1: Mula sa home interface ng Jenkins, piliin ang Bagong Item.

Hakbang 2: Magpasok ng isang pangalan at piliin Proyekto ng freestyle .

Hakbang 3: Ang susunod na pahina na ito ay kung saan mo tinukoy ang pagsasaayos ng trabaho. Sa mabilis mong pagmamasid, maraming mga setting na magagamit kapag lumikha ka ng isang bagong proyekto.Sa pahina ng pagsasaayos na ito, mayroon ka ring pagpipilian upang Magdagdag ng hakbang sa pagbuo upang maisagawa ang mga karagdagang pagkilos tulad ng pagpapatakbo ng mga script. Ipatupad ko ang isang script ng shell.

Bibigyan ka nito ng isang text box kung saan maaari kang magdagdag ng anumang mga utos na kailangan mo. Maaari mong gamitin ang mga script upang magpatakbo ng iba't ibang mga gawain tulad ng pagpapanatili ng server, kontrol sa bersyon, mga setting ng system ng pagbabasa, atbp. Gagamitin ko ang seksyong ito upang magpatakbo ng isang simpleng script.

Hakbang 4: I-save ang proyekto, at dadalhin ka sa isang pahina ng pangkalahatang-ideya ng proyekto. Makikita mo rito ang impormasyon tungkol sa proyekto, kasama ang built history nito.

Hakbang 5: Mag-click Bumuo Ngayon sa kaliwang bahagi upang simulan ang build.

Hakbang 6: Upang makakita ng karagdagang impormasyon, mag-click sa pagbuo na iyon sa lugar ng kasaysayan ng pagbuo, kung saan dadalhin ka sa isang pahina na may pangkalahatang-ideya ng impormasyon sa pagbuo.

Hakbang 7: Ang Output ng Console Ang link sa pahinang ito ay lalong kapaki-pakinabang para sa pagsusuri ng mga resulta ng trabaho nang detalyado.

Hakbang 8: Kung babalik ka sa bahay ni Jenkins, makakakita ka ng isang pangkalahatang ideya ng lahat ng mga proyekto at kanilang impormasyon, kabilang ang katayuan.

Ang katayuan ng pagbuo ay ipinahiwatig sa dalawang paraan, sa pamamagitan ng isang icon ng panahon at ng isang kulay na bola. Ang icon ng panahon ay partikular na kapaki-pakinabang dahil ipinapakita nito sa iyo ang isang talaan ng maraming build sa isang imahe.

Tulad ng nakikita mo sa imahe sa itaas, kumakatawan ang araw na ang lahat ng aking build ay matagumpay. Binibigyan kami ng kulay ng bola ng katayuan ng partikular na pagbuo, sa larawan sa itaas ang kulay ng bola ay asul na nangangahulugang matagumpay ang partikular na pagbuo na ito.

Sa Jenkins Tutorial na ito, nagbigay lamang ako ng isang panimulang halimbawa. Sa aking susunod na blog, ipapakita ko sa iyo kung paano hilahin at bumuo ng code mula sa GitHub repository gamit ang Jenkins.

Kung nahanap mo ito Jenkins Tutorial nauugnay, suriin ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa Edureka DevOps Certification Training ay tumutulong sa mga nag-aaral na makakuha ng kadalubhasaan sa iba't ibang mga proseso at tool ng DevOps tulad ng Puppet, Jenkins, Nagios at GIT para sa pag-automate ng maraming mga hakbang sa SDLC.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento at babalikan ka namin.