„Jenkins Git“ integracija - naudinga kiekvienam „DevOps“ profesionalui



Šiame tinklaraštyje aptariama „Git“ integracija su Jenkinsu. Taip pat aptariami „Git“ integravimo su Jenkinsu kartu su demonstraciniais pranašumais pranašumai.

be Jenkinso tikrai nebaigtas. Jenkinsas kartu su Gitu yra puikus derinys. Taigi šiame straipsnyje kalbėsiu apie „Jenkins Git“ integraciją ir jos pranašumus. Nurodymai, kuriuos ketiname aptarti, yra šie:

Taigi pradėkime nuo pirmosios temos.



Kas yra Git - kodėl Git Atėjo į egzistavimą?

Mes visi žinome, kad „būtinybė yra visų išradimų motina“. Panašiai pasirodė „Git“, kad įvykdytų tam tikras būtinas sąlygas, su kuriomis susidūrė kūrėjai prieš „Git“. Taigi žengkime žingsnį atgal, kad sužinotume viską apie versijų valdymo sistemas (VCS) ir apie tai, kaip atsirado „Git“.

Versijų valdymas yra dokumentų, kompiuterinių programų, didelių svetainių ir kitokio informacijos rinkimo pakeitimų valdymas.



Yra du VCS tipai:

  • Centralizuota versijų valdymo sistema (CVCS)

  • Paskirstyta versijų valdymo sistema (DVCS)



Centralizuota VCS

Centralizuota versijų valdymo sistema (CVCS) naudoja centrinį serverį visiems failams saugoti ir įgalina komandos bendradarbiavimą. Jis veikia vienoje saugykloje, į kurią vartotojai gali tiesiogiai pasiekti centrinį serverį.

Norėdami sužinoti geresnę CVCS idėją, žiūrėkite toliau pateiktą diagramą:

Ankstesnėje diagramoje esanti saugykla nurodo centrinį serverį, kuris gali būti vietinis arba nuotolinis ir yra tiesiogiai prijungtas prie kiekvienos programuotojo darbo vietos.

Kiekvienas programuotojas gali išgauti arba atnaujinti jų darbo vietos su saugykloje esančiais duomenimis. Jie taip pat gali keisti duomenis arba įsipareigoti į kapinyną. Kiekviena operacija atliekama tiesiai į saugyklą.

Nors atrodo gana patogu išlaikyti vieną saugyklą, ji turi keletą pagrindinių trūkumų. Kai kurie iš jų yra:

  • Tai nėra vietoje prieinama, o norint atlikti bet kokį veiksmą, visada turite būti prisijungę prie tinklo.

  • Kadangi viskas yra centralizuota, bet kuriuo atveju sugedus ar sugadinus centrinį serverį, bus prarasti visi projekto duomenys.

Čia problemą išsprendžia paskirstytasis VCS.

Paskirstytas VCS

Šios sistemos nebūtinai priklauso nuo centrinio serverio, kuriame saugomos visos projekto failo versijos.Paskirstytoje VCS kiekvienas bendradarbis turi vietinę pagrindinės saugyklos kopiją arba „kloną“. Čia kiekvienas prižiūri savo vietinę saugyklą, kurioje yra visi pagrindinėje saugykloje esantys failai ir metaduomenys.

Geriau tai suprasite remdamiesi toliau pateikta diagrama:

Kaip matote aukščiau pateiktoje diagramoje, kiekvienas programuotojas savarankiškai prižiūri vietinę saugyklą, kuri iš tikrųjų yra jų kietajame diske esančios centrinės saugyklos kopija ar klonas. Jie gali įsikišti ir atnaujinti savo vietinę saugyklą netrukdydami.

Jie gali atnaujinti savo vietines saugyklas naujais duomenimis iš centrinio serverio atlikdami operaciją „ traukti Ir paveikti operacijos, vadinamos „ stumti “Iš jų vietos saugyklos.

Dabar pabandykime sužinoti apie „Git“ apibrėžimą.

  • „Git“ yra paskirstytas versijų valdymo įrankis, palaikantis paskirstytas nelinijines darbo eigas, užtikrinant duomenų patikimumą kuriant kokybišką programinę įrangą. Tokie įrankiai kaip „Git“ leidžia palaikyti ryšį tarp kūrėjų ir operacijų komandos.

  • Paprastai, kai rengiate didelį projektą, turite daug bendradarbių. Taigi labai svarbu palaikyti ryšį tarp bendradarbių, tuo pačiu keičiant projektą.

  • „Git“ prisiimti pranešimai vaidina labai svarbų vaidmenį bendraujant tarp komandos. Be bendravimo, svarbiausia priežastis naudoti „Git“ yra ta, kad visada turite su savimi stabilią kodo versiją.

  • Taigi, „Git“ vaidina gyvybiškai svarbų vaidmenį sėkmingai dirbant „DevOps“.

Kas yra Jenkinsas?

„Jenkins“ yra atvirojo kodo automatizavimo įrankis, parašytas „Java“ su papildiniais, sukurtais nuolatinės integracijos tikslais. „Jenkins“ naudojama nuolatos kurti ir išbandyti jūsų programinės įrangos projektus, kad kūrėjams būtų lengviau integruoti projekto pakeitimus ir vartotojams būtų lengviau gauti naują versiją. Tai taip pat leidžia jums nuolat pristatyti savo programinę įrangą integruojant su daugybe bandymų ir diegimo technologijų.

Su „Jenkins“ organizacijos gali paspartinti programinės įrangos kūrimo procesą naudodamos automatizavimą. „Jenkins“ integruoja visų rūšių kūrimo gyvavimo ciklo procesus, įskaitant sukūrimą, dokumentą, bandymą, paketą, etapą, diegimą, statinę analizę ir daug daugiau.

pakuočių naudojimas java

Jenkinsas nuolatinę integraciją pasiekia naudodamas papildinius. Papildiniai leidžia integruoti įvairius „DevOps“ etapus. Jei norite integruoti tam tikrą įrankį, turite įdiegti to įrankio papildinius. Pavyzdžiui, „Git“, „Maven 2“ projektas, „Amazon EC2“, HTML leidėjas ir kt.

„Jenkins“ privalumai:

  • Tai yra atviro kodo priemonė, teikianti didelį bendruomenės palaikymą.

    konvertuoti dvigubą į int java
  • Per lengva įdiegti.

  • Jame yra daugiau nei 1000 papildinių, palengvinančių jūsų darbą. Jei papildinio nėra, galite jį koduoti ir bendrinti su bendruomene.

  • Tai nemokama.

  • Jis sukurtas naudojant „Java“ ir todėl yra nešiojamas visoms pagrindinėms platformoms.

Dabar jūs žinote, kaip Jenkinsas įveikia tradicinius SDLC trūkumus. Žemiau esančioje lentelėje parodytas „Prieš ir po Jenkins“ palyginimas.

Prieš JenkinsąPo Jenkins
Visas šaltinio kodas buvo sukurtas ir tada išbandytas. Klaidų nustatymas ir taisymas sugedimo ir bandymo atveju buvo sunkus ir daug laiko reikalaujantis procesas, o tai savo ruožtu lėtina programinės įrangos pristatymo procesą.Kiekvienas šaltinio kode atliktas įsipareigojimas yra sukurtas ir išbandytas. Taigi, užuot tikrinę visą šaltinio kodą, kūrėjai turi sutelkti dėmesį tik į tam tikrą įsipareigojimą. Tai leidžia dažnai išleisti naują programinę įrangą.
Kūrėjai turi laukti bandymų rezultatųKūrėjai žino kiekvieno atlikimo, atlikto naudojant šaltinio kodą, bandymo rezultatus.
Visas procesas yra rankinisJums tik reikiaatlikite šaltinio kodo pakeitimus, o „Jenkins“ už jus automatizuos likusį procesą.

Kodėl Jenkinsas ir Gitas naudojami kartu?

Kaip aptarta anksčiau, Eik yra šaltinio valdymo vadybininkas. Čia laikote šaltinio kodą, kad galėtumėte stebėti visus per laiką įvykusius kodo pakeitimus ir lyginti versijas, kai jos bus parengtos išleisti.

Jenkinsas , kita vertus, yra nuolatinis integracijos sprendimas. Jis sukurtas automatizuoti daugumą užduočių, kurias kūrėjas turi atlikti kurdamas naują programą (kodo kokybės patikrinimas, kūrimas, sukūrimo artefaktų archyvavimas, integracijos bandymai, diegimas įvairiose aplinkose ir kt.) Be KI sprendimo, kūrėjas turi praleisti daug laiko atlikdamas šias pasikartojančias neproduktyvias užduotis.

Privalumai:

  • Gitas ir Jenkinsas yra labai galingi, tačiau su didele jėga tenka didelė atsakomybė. Tai gana įprasta pateisinti nereikalingą kiekį dujotiekio komplikacija paprasčiausiai todėl, kad galite.
  • Nors Jenkinsas turi daug dailių triukų rankovėje, „Git“ funkcijas lengva panaudoti, nes tai leidžia leidimų valdymui ir klaidų sekimas žymiai lengvesnis su laiku.
  • Tai galime padaryti atidžiai stebėdami sukurtas kodo versijas ir tinkamai jas žymėdami. Tai išlieka su leidimu susijusi informacija, artima kodui , o ne pasikliauti Jenkins statomaisiais skaičiais ar kitais monikais.
  • „Git“ šakų apsauga sumažina žmogaus klaidų riziką ir kuo daugiau užduočių automatizavimas sumažina tai, kaip dažnai turime tuos žmones kankinti (arba laukti).

Pavyzdys:

Paimkime naujos žiniatinklio programos funkcijos pavyzdį. Kūrėjas bus atpažintas ir paskirtas užduočiai. Jis perims esamą kodų bazę iš šaltinio valdymo - tarkime, „Git“, atlieka pakeitimus, atlieka vieneto testavimą, užtikrina kodo kokybę rankiniu būdu ir patikrina naują kodą atgal į „Git“.

Tada jis turi sukurti kodą, įdėti jį į integracijos egzempliorių, paleisti integracijos bandymą ir, kai pakeitimas atrodo patenkinamas, pateikti gamybos diegimo užklausą. Jei tik turėtume minioną, kuris pasirūpintų šiais bandymais, statybomis, kokybės patikrinimais ir diegimo sekcijomis, vargšas kūrėjas galėjo geriau sutelkti dėmesį į tai, kas jam tikrai gerai sekasi - šios funkcijos logikos įgyvendinimui ir tobulinimui.

Šis pakalikas yra Jenkinsas. Jis veikia kaip orkestratorius, vykdantis visas šias veiklas, kai tik patikrinamas šaltinio valdymas („Git“), ir taip greitai pateikia kūrėjui grįžtamąjį ryšį, ar jo atlikti pakeitimai yra pakankamai geri gamybos diegimui, ar ne.Tai yra labai lankstus, atviro kodo ir turi daugybę papildinių, galinčių atlikti beveik viską, ko tik norite.

Demonstracija

Čia pamatysime, kaip integruoti „Git“ su „Jenkins“. Turite atlikti 5 veiksmus:

1. Sukurkite pavyzdinę programą:

Galite sukurti bet kokią norimą programos pavyzdį, pvz., „Java“ ar „Python“ ar bet kurią kitą programą. Čia parašysime paprastą „Python“ programa kad atspausdintas Sveikas, pasauli!

2. Sukurkite „Jenkins“ darbą:

  • Čia pirmiausia reikia pradėti Jenkinsą naudojant komandų eilutę.

  • Tam pirmiausia turite pereiti į „Jenkins“ vietą savo sistemoje ir naudoti komandą java -jar jenkins.war

  • Atlikę šią komandą, atidarykite žiniatinklio naršyklę ir naudodamiesi nuoroda eikite į pagrindinį Jenkins puslapį vietinis šeimininkas: 8080 . Tai yra numatytasis prievado numeris.

  • Atidarykite „Jenkins“ pagrindinį puslapį įveskite vartotojo vardą ir slaptažodį.

  • Norėdami sukurti projektą, spustelėkite Naujas daiktas ir įveskite projekto pavadinimas ir pasirinkite „Freestyle“ projektas . Spustelėkite Gerai.

3. Pridėkite šią programą prie „Github“:

  • Atidarykite git bash jūsų sistemoje. Rodyti kelią į savo programos vietą. Inicijuokite tuščią saugyklą naudodami komandą git init .

  • Naudokite komandą git pridėti. pridėti failą į sustojimo sritį iš darbo katalogo.

  • Dabar naudodami komandą pridėkite failą prie vietinės saugyklos git įsipareigoti -m „pridėtas failas„ demo.py “ .

  • Dabar jūs turite stumti šį failą į nuotolinę saugyklą. Už tai eikite į savo „GitHub“ paskyrą ir sukurkite naują viešą saugyklą. Dabar nukopijuokite šios saugyklos vietą ir eikite į „git bash“ terminalą. Čia įveskite komandą git nuotolinio pridėti kilmę . Kadangi dabar prisijungėte prie nuotolinės saugyklos, naudodami komandą galite ten įvesti savo kodą git push -u kilmės meistras. Norėdami tai patvirtinti, eikite į „GitHub“ paskyrą ir atnaujinkite puslapį. Pamatysite ten pridėtą failą.

4. Pridėkite „Git“ papildinį „Jenkins“:

  • Jenkinso pagrindiniame puslapyje eikite į Tvarkykite Jenkinsą .

  • Kitas spustelėkite Tvarkyti papildinius . Čia patikrinkite, ar įdiegtame skyriuje buvo „Git“ papildinys. Jei jo nėra čia, ieškokite jo esančiame skyriuje ir atsisiųskite.

5. Sukonfigūruokite „Jenkins“ užduotį, kad sukurtumėte komponavimą:

  • Eikite į Jenkins projektą, kurį sukūrėme atlikdami 2 veiksmą. Čia, šaltinio kodo valdymo skyriuje, pasirinkite git ir įveskite viešosios saugyklos, kurią sukūrėte atlikdami 3 veiksmą, nuorodą. Toliau „Build Triggers“ skyrius , spustelėkite Apklausos SCM parinktis . Čia dalyje Tvarkaraštis turite įvesti penkias žvaigždutes, atskirtas tarpu. Tai ne kas kita, o jūsų darbo sintaksė. Tai reiškia, kad „Jenkins“ kiekvieną minutę tikrins, ar nėra šaltinio kodo pokyčių, ir jei yra kokių nors pakeitimų, tai suaktyvins „Jenkins“ kūrimą.

  • Spustelėkite Taikyti ir tada toliau Sutaupyti . Kitas projekto pagrindiniame puslapyje spustelėkite Kurkite dabar . Tai vykdys projektą ir konsolės išvestyje galite pamatyti savo programos išvestį savo „Jenkins“ darbo būseną. Jei viskas gerai, jis bus rodomas kaip Sėkmė .

Taigi taip daroma „Jenkins Git“ integracija. Tuo mes baigėme šį straipsnį apie „Jenkins Git“ integraciją. Tikiuosi, kad jums patiko šis straipsnis.

Dabar, kai supratai, ką „Jenkins Git“ integracija yra, patikrink tai sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. „Edureka DevOps“ sertifikavimo mokymo kursas padeda besimokantiesiems suprasti, kas yra „DevOps“, ir įgyti patirties įvairiuose „DevOps“ procesuose ir įrankiuose, tokiuose kaip „Puppet“, „Jenkins“, „Nagios“, „Ansible“, „Chef“, „Saltstack“ ir „GIT“, norint automatizuoti kelis SDLC veiksmus.

Turite mums klausimą? Prašau paminėti tai komentarų skiltyje ir mes su jumis susisieksime