Jenkins Git integrācija - noderīga ikvienam DevOps profesionālim



Šajā emuārā tiek apspriesta Git integrācija ar Dženkinsu. Tas arī apspriež Git integrēšanas ar Dženkinsu priekšrocības kopā ar demonstrāciju.

bez Dženkinsa noteikti ir nepilnīga. Dženkinss kopā ar Gitu ir brīnišķīga kombinācija. Tāpēc šajā rakstā es runāšu par Jenkins Git integrāciju un tās priekšrocībām. Norādes, kuras mēs aplūkosim, ir šādas:

Tāpēc sāksim ar mūsu pirmo tēmu.





Kas ir Git - kāpēc Git Ienāca pastāvēt?

Mēs visi zinām, ka nepieciešamība ir visu izgudrojumu māte. Tāpat Git parādījās, lai izpildītu noteiktas nepieciešamības, ar kurām izstrādātāji saskārās pirms Git. Ļaujiet mums spert soli atpakaļ, lai uzzinātu visu par versiju vadības sistēmām (VCS) un to, kā Git izveidojās.

Versijas kontrole ir dokumentu, datorprogrammu, lielu vietņu un citas informācijas vākšanas izmaiņu pārvaldība.



Ir divu veidu VCS:

  • Centralizētā versiju kontroles sistēma (CVCS)

  • Izplatītā versiju kontroles sistēma (DVCS)



Centralizēta VCS

Centralizēta versiju kontroles sistēma (CVCS) izmanto centrālo serveri visu failu glabāšanai un ļauj komandai sadarboties. Tas darbojas vienā repozitorijā, kurā lietotāji var tieši piekļūt centrālajam serverim.

Lūdzu, skatiet zemāk esošo diagrammu, lai iegūtu labāku priekšstatu par CVCS:

Iepriekš minētās diagrammas krātuve norāda centrālo serveri, kas varētu būt lokāls vai attāls un kas ir tieši savienots ar katru no programmētāja darbstacijām.

Katrs programmētājs var iegūt vai Atjaunināt to darbstacijas ar datiem, kas atrodas krātuvē. Viņi var arī veikt izmaiņas datos vai apņemties uz krātuvi. Katra darbība tiek veikta tieši krātuvē.

Pat ja šķiet, ka uzturēt vienu krātuvi ir diezgan ērti, tam ir daži būtiski trūkumi. Daži no tiem ir:

  • Tas nav lokāli pieejams, kas nozīmē, ka, lai veiktu kādas darbības, jums vienmēr ir jābūt savienotam ar tīklu.

  • Tā kā viss ir centralizēti, centrālā servera avārija vai bojājums jebkurā gadījumā zaudēs visus projekta datus.

Šeit problēmu atrisina izplatītais VCS.

Izplatīts VCS

Šīs sistēmas ne vienmēr paļaujas uz centrālo serveri, lai saglabātu visas projekta faila versijas.Izplatītajā VCS katram dalībniekam ir galvenā repozitorija lokāla kopija vai “klons”. Šeit visi uztur savu lokālo repozitoriju, kurā ir visi galvenajā repozitorijā esošie faili un metadati.

Jūs to labāk sapratīsit, atsaucoties uz zemāk redzamo diagrammu:

Kā redzat iepriekš redzamajā diagrammā, katrs programmētājs pats uztur vietējo krātuvi, kas faktiski ir viņu cietā diska centrālās repozitorija kopija vai klons. Viņi var veikt un atjaunināt vietējo repozitoriju bez traucējumiem.

Viņi var atjaunināt vietējos krātuves ar jauniem datiem no centrālā servera, izmantojot operāciju ar nosaukumu “ vilkt Un ietekmēt izmaiņas galvenajā repozitorijā ar operāciju ar nosaukumu “ spiediet ”No viņu vietējā repozitorija.

Tagad mēģināsim uzzināt par Git definīciju.

  • Git ir izplatīts versiju kontroles rīks, kas atbalsta izplatītās nelineārās darbplūsmas, nodrošinot datu drošību kvalitatīvas programmatūras izstrādei. Tādi rīki kā Git ļauj sazināties starp izstrādes komandu un operāciju komandu.

  • Parasti, izstrādājot lielu projektu, jums ir milzīgs līdzstrādnieku skaits. Tāpēc, veicot izmaiņas projektā, ir ļoti svarīgi sadarboties ar līdzstrādniekiem.

  • Apņemšanās ziņojumiem Git ir ļoti svarīga loma komunikācijā starp komandu. Papildus saziņai vissvarīgākais iemesls Git izmantošanai ir tas, ka jums vienmēr ir līdzi stabila koda versija.

  • Tādējādi Git spēlē būtisku lomu, gūstot panākumus DevOps.

Kas ir Dženkinss?

Jenkins ir atvērtā koda automatizācijas rīks, kas rakstīts Java valodā ar spraudņiem, kas izveidoti nepārtrauktas integrācijas vajadzībām. Jenkins tiek izmantots, lai nepārtraukti izveidotu un pārbaudītu jūsu programmatūras projektus, lai izstrādātājiem būtu vieglāk integrēt izmaiņas projektā, un lietotājiem būtu vieglāk iegūt jaunu būvējumu. Tas arī ļauj nepārtraukti piegādāt savu programmatūru, integrējot to ar lielu skaitu testēšanas un izvietošanas tehnoloģiju.

Izmantojot Jenkins, organizācijas var paātrināt programmatūras izstrādes procesu, izmantojot automatizāciju. Jenkins integrē visu veidu izstrādes dzīves cikla procesus, ieskaitot būvēšanu, dokumentēšanu, testēšanu, pakotni, posmu, izvietošanu, statisko analīzi un daudz ko citu.

Jenkins nepārtraukti integrējas ar spraudņu palīdzību. Spraudņi ļauj integrēt dažādus DevOps posmus. Ja vēlaties integrēt noteiktu rīku, jums jāinstalē šī rīka spraudņi. Piemēram, Git, Maven 2 projekts, Amazon EC2, HTML izdevējs utt.

Jenkins priekšrocības ietver:

  • Tas ir atvērtā koda rīks ar lielu kopienas atbalstu.

  • Pārāk viegli uzstādīt.

  • Tam ir vairāk nekā 1000 spraudņu, kas atvieglo jūsu darbu. Ja spraudnis nepastāv, varat to kodēt un kopīgot ar kopienu.

  • Tas ir bez maksas.

  • Tas ir veidots ar Java un līdz ar to ir pārnēsājams visām galvenajām platformām.

Tagad jūs zināt, kā Jenkins pārvar tradicionālos SDLC trūkumus. Zemāk esošajā tabulā parādīts salīdzinājums starp “Pirms un pēc Jenkins”.

Pirms DženkinsaPēc Dženkinsa
Tika izveidots un pēc tam pārbaudīts viss avota kods. Kļūdu atrašana un novēršana būvniecības un testa kļūmju gadījumā bija sarežģīta un laikietilpīga, kas savukārt palēnina programmatūras piegādes procesu.Katra avota kodā veiktā saistība ir izveidota un pārbaudīta. Tātad, tā vietā, lai pārbaudītu visu pirmkodu, izstrādātājiem ir jākoncentrējas tikai uz konkrētu apņemšanos. Tas noved pie biežas jaunas programmatūras izlaišanas.
Izstrādātājiem jāgaida testa rezultātiIzstrādātāji zina katras apņemšanās, kas izpildīta avota kodā, testa rezultātu.
Viss process ir manuālsJums tikai vajagveiciet izmaiņas pirmkodā, un Jenkins automatizēs pārējo procesu jūsu vietā.

Kāpēc Dženkinss un Džits tiek izmantoti kopā?

Kā tika apspriests iepriekš, Ej ir avota kontroles menedžeris. Šeit jūs glabājat savu pirmkodu, lai izsekotu visas koda izmaiņas, kas notiek laika gaitā, un balstītu versijas, kad tās ir gatavas izlaišanai.

Dženkinss , no otras puses, ir nepārtraukts integrācijas risinājums. Tas ir paredzēts, lai automatizētu lielāko daļu uzdevumu, kas izstrādātājam jāveic, izstrādājot jaunu lietojumprogrammu (koda kvalitātes pārbaudes, veidošana, būvēšanas artefaktu arhivēšana, integrācijas testēšana, izvietošana dažādās vidēs utt.) Bez KI risinājuma izstrādātājs ir jāpavada daudz laika, veicot šos atkārtotos neproduktīvos uzdevumus.

Priekšrocības:

  • Gits un Dženkinss abi ir ļoti spēcīgi, taču ar lielu spēku nāk liela atbildība. Tas ir diezgan bieži, lai attaisnotu nevajadzīgu daudzumu sarežģījumi būvniecības cauruļvadā vienkārši tāpēc, ka jūs varat.
  • Lai gan Dženkinsam ir daudz veiklu triku, viņš var viegli izmantot Git funkcijas, jo tas padara izlaišanas pārvaldību un kļūdu izsekošana ir ievērojami vienkāršāka laika gaitā.
  • Mēs varam to izdarīt, uzmanīgi izturoties pret izveidojamām koda versijām un atbilstoši marķējot tās. Tas saglabā ar izlaišanu saistīta informācija, kas atrodas tuvu kodam , atšķirībā no paļaušanās uz Jenkins būvniecības skaitļiem vai citiem monikeriem.
  • Git zaru aizsardzība samazina cilvēku kļūdu risku , un pēc iespējas vairāk uzdevumu automatizēšana samazina to, cik bieži mums šie cilvēki ir jāuztrauc (vai jāgaida).

Piemērs:

Ņemsim piemēru par jaunu funkciju tīmekļa lietojumprogrammā. Izstrādātājs tiks identificēts un piešķirts uzdevumam, viņš paņem esošo koda bāzi no avota vadības - teiksim, Git, veic izmaiņas, veic vienības testēšanu, manuāli nodrošina koda kvalitāti un pārbauda jauno kodu atpakaļ Git.

Tad viņam ir jāveido kods, jāizvieto tas integrācijas instancē, jāveic integrācijas pārbaude un, kad izmaiņas šķiet apmierinošas, jāizvirza pieprasījums pēc ražošanas izvietošanas. Ja nu vienīgi mums būtu kāds minions, kas rūpētos par šo testēšanu, veidošanu, kvalitātes pārbaudēm un izvietošanas sadaļām, nabadzīgais izstrādātājs būtu varējis labāk pievērsties lietām, kurās viņš patiešām labi darbojas, - funkcijas loģikas ieviešanai un uzlabošanai.

Šis minions ir Dženkinss. Tas darbojas kā orķestrators, lai veiktu visas šīs darbības, tiklīdz izmaiņas ir pārbaudītas avota kontrolē (Git), un tādējādi sniedz izstrādātājam ātru atgriezenisko saiti, vai viņa veiktās izmaiņas ir pietiekami labas ražošanas izvietošanai vai nē.Tas ir ārkārtīgi elastīgs, atvērtā koda un tajā ir daudz spraudņu, kas var darīt gandrīz visu, ko vēlaties.

Demonstrācija

Šeit mēs redzēsim, kā integrēt Gitu ar Dženkinsu. Jums ir jāveic 5 darbības:

1. Izveidojiet programmas paraugu:

Jūs varat izveidot jebkuru vēlamo programmas paraugu, piemēram, Java vai Python vai jebkuru citu programmu. Šeit mēs uzrakstīsim vienkāršu Python programma kas izdrukā Sveika, pasaule!

2. Izveidojiet Jenkins darbu:

  • Šeit vispirms jums ir nepieciešams sākt Jenkins izmantojot komandu uzvedni.

  • Lai to izdarītu, vispirms ir jāpārvietojas uz Jenkins atrašanās vietu jūsu sistēmā un jāizmanto komanda java -jar jenkins.war

  • Pēc šīs komandas izpildīšanas atveriet tīmekļa pārlūkprogrammu un, izmantojot saiti, dodieties uz Jenkins mājas lapu vietējais saimnieks: 8080 . Šis ir noklusējuma porta numurs.

  • Atveriet Jenkins mājas lapu līdz ievadot lietotājvārdu un paroli.

  • Lai izveidotu projektu, noklikšķiniet uz Jauns vienums un ievadiet Projekta nosaukums un atlasiet Brīvā stila projekts . Noklikšķiniet uz Labi.

3. Pievienojiet šo programmu Github:

  • Atveriet git bash jūsu sistēmā. Pārvietoties uz jūsu programmas atrašanās vietu. Inicializējiet tukšu krātuvi, izmantojot komandu git init .

    tablo soli pa solim apmācība
  • Izmantojiet komandu git pievienot. lai pievienotu failu pieturvietai no darba direktorija.

  • Tagad pievienojiet failu vietējai repozitorijai, izmantojot komandu git saistīt -m “fails demo.py pievienots” .

  • Tagad jums tas jādara spiediet šo failu attālajā repozitorijā. Lai to izdarītu, dodieties uz savu GitHub kontu un izveidojiet jaunu publisku repozitoriju. Tagad nokopējiet šīs krātuves atrašanās vietu un dodieties uz git bash terminālu. Šeit ierakstiet komandu git tālvadības pievienot izcelsmi . Tā kā tagad esat izveidojis savienojumu ar attālo repozitoriju, tagad varat nospiest savu kodu tur, izmantojot komandu git push -u izcelsmes meistars. Lai to pārbaudītu, dodieties uz GitHub kontu un atsvaidziniet lapu. Jūs redzēsiet tur pievienoto failu.

4. Pievienojiet Git spraudni Jenkins:

  • Jenkins mājas lapā dodieties uz Pārvaldiet Dženkinsu .

  • Nākamais noklikšķiniet uz Pārvaldīt spraudņus . Šeit pārbaudiet Git spraudni instalētajā sadaļā. Ja tas šeit nav pieejams, meklējiet to pieejamajā sadaļā un lejupielādējiet to.

5. Konfigurējiet Jenkins darbu, lai aktivizētu būvniecību:

  • Dodieties uz projektu Jenkins, kuru izveidojām 2. darbībā. Šeit sadaļā Source Code Management izvēlieties git un ievadiet 3. darbībā izveidotā publiskā repozitorija saiti. Tālāk Sadaļa Izveidot aktivizētājus , klikšķiniet uz Aptaujas SCM opcija . Šeit sadaļā Grafiks ir jāievada piecas zvaigznītes, kuras atdala ar atstarpi. Tas ir nekas cits kā krona sintakse jūsu darbam. Tas nozīmē, ka Jenkins katru minūti pārbaudīs, vai avota kodā nav veiktas izmaiņas, un, ja ir kādas izmaiņas, tas aktivizēs Jenkins izveidi.

  • Klikšķiniet uz Piesakies un tad tālāk Saglabāt . Tālāk savā projekta mājas lapā noklikšķiniet uz Veidojiet tūlīt . Tas palaidīs projektu, un konsoles izvadā jūs varat redzēt savas programmas izvadi sava Jenkins darba statusu. Ja viss ir kārtībā, tas tiks parādīts kā Panākumi .

Tātad tiek veikta Jenkins Git integrācija. Ar to mēs esam nonākuši šī raksta par Jenkins Git integrāciju beigās. Es ceru, ka jums patika šis raksts.

Tagad, kad esat sapratis, ko Jenkins Git integrācija ir, pārbaudiet šo Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Edureka DevOps sertifikācijas apmācības kurss palīdz izglītojamajiem saprast, kas ir DevOps, un iegūt zināšanas par dažādiem DevOps procesiem un rīkiem, piemēram, Leļļu, Jenkins, Nagios, Ansible, Chef, Saltstack un GIT, lai automatizētu vairākus SDLC soļus.

Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā, un mēs ar jums sazināsimies