Jenkins Giti integreerimine - kasulik kõigile DevOps Professionalidele

Selles ajaveebis arutletakse Giti ja Jenkinsiga integreerimise üle. Samuti käsitletakse Giti integreerimise eeliseid Jenkinsiga koos demoga.

on ilma Jenkinsita kindlasti puudulik. Jenkins koos Gitiga on suurepärane kombinatsioon. Nii et selles artiklis räägin Jenkins Giti integreerimisest ja selle eelistest. Näpunäited, mida me kajastame, on järgmised:

Alustagem siis oma esimesest teemast.





Mis on Git - miks Git Tuli olemasolusse?

Me kõik teame, et vajadus on kõigi leiutiste ema. Samamoodi ilmus välja Git, et täita teatud vajadusi, millega arendajad enne Gitit silmitsi seisid. Niisiis, astume sammu tagasi, et õppida kõike versiooni haldussüsteemide (VCS) ja Giti loomise kohta.

Versioonihaldus on dokumentide, arvutiprogrammide, suurte veebisaitide ja muu teabe kogumise muudatuste haldamine.



VCS-d on kahte tüüpi:

  • Tsentraliseeritud versioonikontrollisüsteem (CVCS)

  • Hajutatud versiooni juhtimissüsteem (DVCS)



Tsentraliseeritud VCS

Tsentraliseeritud versioonikontrollisüsteem (CVCS) kasutab kõigi failide salvestamiseks keskserverit ja võimaldab meeskonna koostööd. See töötab ühes hoidlas, kuhu kasutajad pääsevad otse keskserverisse.

CVCS-st parema ülevaate saamiseks vaadake palun allolevat skeemi:

Ülaltoodud diagrammil olev hoidla tähistab keskset serverit, mis võib olla lokaalne või kaugserver ja mis on otse ühendatud iga programmeerija tööjaamaga.

Iga programmeerija saab väljavõtte või värskendus nende tööjaamad koos hoidlas olevate andmetega. Samuti saavad nad andmeid muuta või pühenduma hoidlasse. Iga toiming tehakse otse hoidlas.

Kuigi ühe hoidla pidamine näib olevat üsna mugav, on sellel mõningaid suuri puudusi. Mõned neist on:

  • See pole kohalikult saadaval, mis tähendab, et toimingute tegemiseks peate alati olema võrguga ühendatud.

  • Kuna kõik on tsentraliseeritud, siis igal juhul kaotab keskne server kokkujooksmise või rikutuse korral kogu projekti andmed.

Siin lahendab probleemi hajutatud VCS.

Jaotatud VCS

Need süsteemid ei pea projektifaili kõigi versioonide salvestamiseks tingimata tuginema keskserverile.Jaotatud VCS-is on igal kaasautoril peahoidla kohalik koopia või 'kloon'. Siin hoiab igaüks omaette kohalikku hoidlat, mis sisaldab kõiki peahoidlas olevaid faile ja metaandmeid.

Sellest saate paremini aru, viidates allolevale skeemile:

Nagu ülaltoodud skeemilt näha, hoiab iga programmeerija iseseisvalt kohalikku hoidlat, mis on tegelikult nende kõvaketta keskhoidla koopia või kloon. Nad saavad sekkumiseta oma kohalikku hoidlat siduda ja uuendada.

Nad saavad värskendada oma kohalikke hoidlaid uute andmetega keskserverist toiminguga „ tõmba 'Ja mõjutada põhihoidla muudatusi toiminguga' suruma ”Nende kohalikust hoidlast.

Proovime nüüd teada saada Giti definitsioonist.

  • Git on hajutatud versioonikontrolli tööriist, mis toetab hajutatud mittelineaarseid töövooge, pakkudes kvaliteetsete tarkvara väljatöötamiseks andmeid. Sellised tööriistad nagu Git võimaldavad suhtlust arenduse ja operatiivmeeskonna vahel.

  • Tavaliselt on teil suure projekti väljatöötamisel palju koostööpartnereid. Seega on projekti muutmise ajal koostööpartnerite vahel suhtlemine väga oluline.

  • Gitis toimuvad sõnumid mängivad meeskonna vahelises suhtluses väga olulist rolli. Peale suhtluse on Giti kasutamise kõige olulisem põhjus see, et teil on alati koodi stabiilne versioon kaasas.

    liita sort c ++ algoritm
  • Seega on Gitil DevOpsis edu saavutamisel ülioluline roll.

Mis on Jenkins?

Jenkins on Java-s kirjutatud avatud lähtekoodiga automatiseerimistööriist koos pideva integreerimise eesmärgil ehitatud pistikprogrammidega. Jenkinsit kasutatakse teie tarkvaraprojektide pidevaks koostamiseks ja testimiseks, et arendajatel oleks lihtsam projekti muudatusi integreerida ja kasutajatel oleks hõlpsam uue versiooni hankimine. See võimaldab teil tarkvara pidevalt tarnida, integreerides suure hulga testimis- ja juurutamistehnoloogiatega.

Jenkinsiga saavad organisatsioonid tarkvara arendamise protsessi automatiseerimise abil kiirendada. Jenkins integreerib igasuguseid arendustegevuse elutsükliprotsesse, sealhulgas koostamist, dokumenteerimist, testimist, pakettimist, etappi, juurutamist, staatilist analüüsi ja palju muud.

Jenkins saavutab pideva integreerimise pistikprogrammide abil. Pistikprogrammid võimaldavad integreerida erinevaid DevOps-i etappe. Kui soovite integreerida teatud tööriista, peate selle tööriista jaoks installima pistikprogrammid. Näiteks Git, Maven 2 projekt, Amazon EC2, HTML-i väljaandja jne.

Jenkinsi eelised hõlmavad järgmist:

  • See on avatud lähtekoodiga tööriist, millel on suur kogukonna toetus.

  • Liiga lihtne paigaldada.

  • Töö hõlbustamiseks on sellel üle 1000 pistikprogrammi. Kui pistikprogrammi pole, saate selle kodeerida ja kogukonnaga jagada.

  • See on tasuta.

  • See on ehitatud Java-ga ja seega on see kaasaskantav kõigile peamistele platvormidele.

Nüüd teate, kuidas Jenkins ületab SDLC traditsioonilised puudused. Allolevas tabelis on toodud võrdlus “Enne ja pärast Jenkinsit”.

Enne JenkinsitPärast Jenkinsit
Ehitati kogu lähtekood ja seejärel testiti. Vigade leidmine ja parandamine ehitamise ja testimise rikke korral oli keeruline ja aeganõudev, mis omakorda pidurdas tarkvara edastamise protsessi.Iga lähtekoodis tehtud kohustus on üles ehitatud ja testitud. Seega peavad kogu lähtekoodi kontrollimise asemel arendajad keskenduma ainult konkreetsele pühendumisele. See toob kaasa uue tarkvara sagedase väljaandmise.
Arendajad peavad testi tulemusi ootamaArendajad teavad iga käivitamisel lähtekoodis tehtud kohustuse testitulemust.
Kogu protsess on käsitsiTeil on vaja ainulttehke muudatused lähtekoodis ja Jenkins automatiseerib teie jaoks ülejäänud protsessi.

Miks kasutatakse Jenkinsit ja Giti koos?

Nagu varem arutatud, Mine on allika juhtimise haldur. Seal hoiate oma lähtekoodi kõigi aja jooksul toimuvate koodimuudatuste jälgimiseks ja versioonide lähtestamiseks, kui need on avaldamiseks valmis.

Jenkins on seevastu pidev integreerimislahendus. Selle eesmärk on automatiseerida enamus ülesandeid, mida arendaja peab uue rakenduse väljatöötamisel tegema (koodi kvaliteedi kontrollimine, ehitamine, ehituse artefaktide arhiveerimine, integreerimise testimine, juurutamine erinevatesse keskkondadesse jne). Ilma CI-lahenduseta on arendaja peab veetma palju aega nende korduvate mittetootlike ülesannete täitmiseks.

Eelised:

  • Git ja Jenkins on mõlemad väga võimsad, kuid suure jõuga kaasneb suur vastutus. Ebavajaliku hulga õigustamine on üsna tavaline ehitustorustiku tüsistus lihtsalt sellepärast, et saate.
  • Kuigi Jenkinsil on varrukas palju häid trikke, on Giti omadusi lihtne kasutada, kuna see muudab väljalaske haldamise ja vigade jälgimine on oluliselt lihtsam üle aja.
  • Saame seda teha, olles koostatud koodiversioonide suhtes ettevaatlik ja märgistades need asjakohaselt. See hoiab väljaandega seotud teave koodi lähedal , erinevalt lootmisest Jenkins'i ehituskoodidele või muudele monikeritele.
  • Giti harude kaitsmine vähendab inimlike eksimuste riski ja võimalikult paljude ülesannete automatiseerimine vähendab seda, kui tihti peame neid inimesi tüütama (või ootama).

Näide:

Võtame näiteks veebirakenduse uue funktsiooni. Arendaja tuvastatakse ja määratakse ülesandele, ta võtab olemasoleva koodibaasi allika juhtimisest - ütleme näiteks, Git, teeb oma muudatused, viib läbi üksuste testimise, tagab koodi kvaliteedi käsitsi ja kontrollib uue koodi uuesti Giti.

Seejärel peab ta ehitama koodi, juurutama selle integreerimisprotsessi, käivitama integreerimise testimise ja kui muudatus näib rahuldav, esitama tootepõhise juurutamise taotluse. Kui meil oleks selle testimise, ehitamise, kvaliteedikontrolli ja juurutamise sektsioonide eest hoolitsenud vaid minion, oleks vaene arendaja võinud paremini keskenduda asjadele, milles ta tõeliselt oskuslik on - funktsiooni loogika juurutamisele ja täiustamisele.

See minion on Jenkins. See toimib kõigi nende tegevuste korraldajana, kui muudatus kontrollitakse allikakontrolli (Git) ja annab seega arendajale kiire tagasiside, kas tema tehtud muudatused on tootmise juurutamiseks piisavalt head või mitte.See on äärmiselt paindlik, avatud lähtekoodiga ja sellel on palju pistikprogramme, mis võimaldavad teha peaaegu kõike, mida soovite.

Demo

Siin näeme, kuidas Git Jenkinsiga integreerida. Peate järgima 5 sammu:

1. Looge näidisprogramm:

Võite luua soovitud näidisprogrammi, nagu Java või Python või mõni muu programm. Siin kirjutame lihtsa Pythoni programm see prindib Tere, maailm!

2. Looge Jenkinsi töökoht:

  • Siin peate kõigepealt start Jenkins käsuviiba abil.

  • Selleks peate kõigepealt navigeerima Jenkinsi asukohta oma süsteemis ja kasutama käsku java -jar jenkins.war

  • Pärast selle käsu käivitamist avage veebibrauser ja minge lingi abil Jenkinsi avalehele kohalik host: 8080 . See on vaikepordi number.

  • Avage Jenkinsi avaleht sisestades kasutajanime ja parooli.

  • Projekti loomiseks klõpsake nuppu Uus üksus ja sisestage projekti nimi ja valige Freestyle projekt . Klõpsake nuppu OK.

3. Lisage see programm Githubi:

  • Avatud git bash oma süsteemis. Navigeeri oma programmi asukohta. Käivitage tühi hoidla käsu abil git init .

  • Kasutage käsku git lisada. faili lisamiseks töökaustast staadiumisse.

  • Nüüd lisage fail käsuga kohalikku hoidlasse git pühendus -m “demo.py fail lisatud” .

  • Nüüd peate suruma see fail kaughoidlasse. Selle tegemiseks minge oma GitHubi kontole ja looge uus avalik hoidla. Nüüd kopeerige selle hoidla asukoht ja minge git bashi terminali. Siit tippige käsk git remote lisa päritolu . Kuna olete nüüd kaughoidlaga ühenduse loonud, saate käsu abil oma koodi sinna lükata git push -u päritolumeister. Selle kinnitamiseks minge GitHubi kontole ja värskendage lehte. Näete sinna lisatud faili.

4. Lisage Jenkinsisse Git-pistikprogramm:

  • Jenkinsi kodulehel minge aadressile Jenkinsi haldamine .

  • Järgmine klõpsake nuppu Pistikprogrammide haldamine . Siit leiate installitud jaotises Giti pistikprogrammi. Kui see pole siin saadaval, otsige seda saadaolevast jaotisest ja laadige see alla.

5. Ehitamise käivitamiseks konfigureerige Jenkinsi töö:

  • Minge Jenkinsis projekti juurde, mille lõime 2. etapis. Siin jaotises Lähtekoodi haldamine vali git ja sisestage 3. etapis loodud avaliku hoidla link. Järgmine Ehituse käivitajate sektsioon , kliki Küsitluse SCM valik . Siin osas Ajakava peate sisestama viis tärniga, mis on eraldatud tühikuga. See pole midagi muud kui croni süntaks teie töö jaoks. See tähendab, et Jenkins kontrollib lähtekoodis muudatusi iga minuti järel ja kui muudatusi on, käivitab see Jenkinsi ehituse.

  • Kliki Rakenda ja siis edasi Salvesta . Järgmisena klõpsake oma projekti avalehel Ehitage kohe . See käivitab projekti ja konsooli väljundis näete oma programmi väljundit Jenkinsi töö olekuna. Kui kõik on korras, kuvatakse see kujul Edu .

Nii tehakse Jenkins Giti integreerimine. Sellega oleme jõudnud Jenkins Git Integratsiooni käsitleva artikli lõpuni. Loodan, et teile on see artikkel meeldinud.

Nüüd, kui olete aru saanud, millest Jenkins Giti integratsioon on, vaadake seda Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Edureka DevOpsi sertifitseerimiskoolitus aitab õppijatel mõista, mis on DevOps, ja omandada teadmisi mitmesuguste DevOpsi protsesside ja tööriistade kohta, nagu Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack ja GIT SDLC mitmete sammude automatiseerimiseks.

Kas teil on meile küsimus? Palun mainige seda kommentaaride jaotises ja võtame teiega ühendust