Jenkins pamoka | Nuolatinė integracija naudojant Jenkins Edureka



„Jenkins Tutorial“ yra antrasis „Jenkins“ tinklaraščių serijos tinklaraštis. Šiame tinklaraštyje kalbama apie „Jenkins“ paskirstytą architektūrą ir apie tai, kaip sukurti paketą naudojant „Jenkins“.

Jenkins pamoka

Jenkinsas yra vienas iš svarbiausių įrankių . Tikiuosi, kad perskaitėte mano ankstesnį tinklaraštį . Šiame „Jenkins Tutorial“ tinklaraštyje aš sutelksiu dėmesį į „Jenkins“ architektūrą, o „Jenkins“ statys dujotiekį. Parodysiu, kaip sukurti „Jenkins“ konstrukciją.

Prieš tęsdami „Jenkins Tutorial“, pagrindiniai ankstesnio tinklaraščio pasirinkimai yra šie:





  • „Jenkins“ naudojama integruoti visus „DevOps“ etapus įskiepių pagalba.
  • Dažniausiai naudojami „Jenkins“ papildiniai yra „Git“, „Amazon EC2“, „Maven 2“ projektas, HTML leidėjas ir kt.
  • Jenkins turi gerokai daugiau nei 1000 papildinių ir147 000 aktyvių įrenginių kartu su daugiau nei 1 milijonu vartotojų visame pasaulyje.
  • Su nuolatine integracija kiekvienas šaltinio kodo pakeitimasyrapastatytas. Jis atlieka ir kitas funkcijas,tai priklauso nuo nuolatinei integracijai naudojamo įrankio.
  • „Nokia“ perėjo nuo „Nightly build“ prie nuolatinės integracijos.
  • Procesas prieš nuolatinę integraciją turėjo daug trūkumų. Todėl ne tik programinės įrangos pristatymas buvo lėtas, bet ir programinės įrangos kokybė neatitiko ženklo. Kūrėjai taip pat sunkiai surado ir ištaisė klaidas.
  • Nuolatinė integracija su „Jenkins“ įveikė šiuos trūkumus, nuolat sukurdama kiekvieno šaltinio kodo pakeitimo kūrimą ir testavimą.

Dabar yra tinkamas laikas suprasti Jenkins architektūrą.

Jenkins architektūra

Peržiūrėkime atskirą Jenkins architektūrą, kurią aš jums paaiškinau , žemiau schema vaizduoja tą patį.



„Jenkins“ atskira architektūra - kas yra „Jenkins“ - „Edureka“

Šio vienintelio „Jenkins“ serverio nepakako tam tikriems reikalavimams patenkinti, pavyzdžiui:

  • Kartais jums gali prireikti kelių skirtingų aplinkų, kad išbandytumėte savo versijas. To negali padaryti vienas „Jenkins“ serveris.
  • Jei didesni ir sunkesni projektai statomi reguliariai, vienas „Jenkins“ serveris negali paprasčiausiai apdoroti visos apkrovos.

Siekiant patenkinti pirmiau nurodytus poreikius, buvo pristatyta „Jenkins“ paskirstyta architektūra.



„Jenkins“ platinama architektūra

Jenkinsas naudoja „Master-Slave“ architektūrą valdydamas paskirstytus kūrinius. Šioje architektūroje pagrindinis ir vergas bendrauja per TCP / IP protokolą.

Jenkins meistras

Pagrindinis jūsų „Jenkins“ serveris yra pagrindinis. Magistro užduotis yra:

  • Planuoti kurti darbo vietas.
  • Išsiuntimas sukuria vergams faktinį vykdymą.
  • Stebėkite vergus (galbūt prireikus paimkite juos į internetą ir neprisijungę).
  • Sukūrimo rezultatų registravimas ir pristatymas.
  • Pagrindinis Jenkins pavyzdys taip pat gali tiesiogiai atlikti statybos darbus.

Jenkins vergas

„Slave“ yra „Java“ vykdomoji programa, veikianti nuotoliniame kompiuteryje. Toliau pateikiamos Jenkins vergų savybės:

  • Ji girdi „Jenkins Master“ instancijos prašymus.
  • Vergai gali veikti įvairiomis operacinėmis sistemomis.
  • Vergo darbas yra atlikti taip, kaip liepiama, tai reiškia, kad vykdomas meistro atsiųstas statybos darbas.
  • Galite sukonfigūruoti projektą, kad jis visada būtų vykdomas tam tikrame „Slave“ įrenginyje arba tam tikro tipo „Slave“ kompiuteryje, arba tiesiog leisti Jenkinsui pasirinkti kitą galimą „Slave“.

Žemiau pateikta diagrama yra savaime suprantama. Jį sudaro „Jenkins Master“, valdantis tris „Jenkins Slave“.

Dabar pažvelkime į pavyzdį, kuriame „Jenkins“ naudojamas bandymams skirtingose ​​aplinkose, tokiose kaip: „Ubuntu“, MAC, „Windows“ ir kt.

Žemiau pateikta diagrama rodo tą patį:

Ankstesniame paveikslėlyje atliekamos šios funkcijos:

  • Jenkinsas periodiškai tikrina „Git“ saugyklą, ar nėra jokių šaltinio kodo pakeitimų.
  • Kiekvienam kūrimui reikalinga skirtinga testavimo aplinka, kuri neįmanoma vienam „Jenkins“ serveriui. Norėdami atlikti bandymus skirtingose ​​aplinkose, Jenkins naudoja įvairius vergus, kaip parodyta diagramoje.
  • „Jenkins Master“ prašo šių vergų atlikti bandymus ir generuoti bandymų ataskaitas.

„Jenkins“ stato vamzdyną

Jis naudojamas žinoti, kurią užduotį Jenkinsas šiuo metu vykdo. Dažnai keli kūrėjai vienu metu atlieka kelis skirtingus pakeitimus, todėl naudinga žinoti, kuris pakeitimas bandomas, kuris pakeitimas sėdi eilėje ar kuris sugadintas. Čia susidaro dujotiekis. „Jenkins“ dujotiekis apžvelgia bandymų lauką. Vykdant dujotiekį, visa konstrukcija yra suskirstyta į dalis, pvz., Vieneto bandymą, priėmimo testą, pakavimą, ataskaitų teikimą ir diegimo etapus. Dujotiekio fazės gali būti vykdomos nuosekliai arba lygiagrečiai, o jei viena fazė yra sėkminga, ji automatiškai pereina į kitą fazę (taigi ir pavadinimo „dujotiekis“ aktualumas). Žemiau pateiktame paveikslėlyje parodyta, kaip atrodo daugialypis vamzdynas.

Tikiuosi, kad supratote teorines koncepcijas. Dabar smagiai praleiskime laiką.

Sukursiu naują darbo vietą Jenkins, tai yra „Freestyle“ projektas . Tačiau yra dar 3 galimybės. Pažvelkime į Jenkins statybų darbų tipus.

„Freestyle“ projektas:

„Freestyle“ darbo vietos yra bendros paskirties statybos darbai, kurie suteikia maksimalų lankstumą.„Freestyle“ kūrimo darbas yra lankstiausias ir konfigūruojamas variantas, jį galima naudoti bet kokio tipo projektams. Tai palyginti nesudėtinga nustatyti, o daugelis čia sukonfigūruotų parinkčių taip pat rodomos kituose kūrimo darbuose.

Daugiakonfigūrinis darbas:

„Daugiakonfigūravimo projektas“ (dar vadinamas „matricos projektu“) leidžia vykdyti tą patį kūrimo darbą skirtingose ​​aplinkose. Jis naudojamas programos testavimui skirtingose ​​aplinkose, skirtingose ​​duomenų bazėse ar net skirtingose ​​statybinėse mašinose.

Stebėkite išorinį darbą:

Sukūrimo užduotis „Stebėti išorinį darbą“ leidžia stebėti neinteraktyvius procesus, pvz., „Cron“ darbus.

Maveno projektas:

„Maven2 / 3 projektas“ yra statybos darbas, specialiai pritaikytas „Maven“ projektams. Jenkinsas supranta „Maven pom“ failus ir projekto struktūras ir gali naudoti informaciją, surinktą iš „pom“ failo, kad sumažintumėte darbą, kurį turite atlikti savo projektui nustatyti.

Čia yra vaizdo įrašas apie „Jenkins“ mokymo programą, kad geriau suprastumėte „Jenkins“. Peržiūrėkite šį „Jenkins“ mokymo vaizdo įrašą.

Darbo su Jenkinsu pradžia Jenkins ir DevOps pamoka | Jenkins pradedantiesiems | Edureka

Pastato sukūrimas naudojant Jenkins

1 žingsnis: „Jenkins“ sąsajos namuose pasirinkite Naujas daiktas.

2 žingsnis: Įveskite vardą ir pasirinkite „Freestyle“ projektas .

3 žingsnis: Šiame kitame puslapyje nurodysite darbo konfigūraciją. Kaip greitai pastebėsite, kuriant naują projektą yra daugybė nustatymų.Šiame konfigūracijos puslapyje taip pat galite pasirinkti Pridėti kūrimo žingsnį atlikti papildomus veiksmus, pvz., scenarijų paleidimą. Vykdysiu apvalkalo scenarijų.

Tai suteiks jums teksto laukelį, kuriame galėsite pridėti bet kokias reikiamas komandas. Galite naudoti scenarijus įvairioms užduotims vykdyti, tokioms kaip serverio priežiūra, versijų valdymas, sistemos parametrų skaitymas ir kt. Aš naudosiu šį skyrių paprastam scenarijui paleisti.

4 žingsnis: Išsaugokite projektą ir būsite nukreipti į projekto apžvalgos puslapį. Čia galite pamatyti informaciją apie projektą, įskaitant jo pastatymo istoriją.

5 žingsnis: Spustelėkite Kurkite dabar kairėje pusėje pradėti kurti.

6 žingsnis: Jei norite pamatyti daugiau informacijos, spustelėkite tą versiją versijos istorijos srityje, tada pateksite į puslapį, kuriame bus pateikiama versijos informacijos apžvalga.

7 žingsnis: The Pulto išvestis nuoroda šiame puslapyje yra ypač naudinga išsamiai nagrinėjant darbo rezultatus.

koks geriausias java ide

8 žingsnis: Jei grįšite į Jenkins namus, pamatysite visų projektų apžvalgą ir jų informaciją, įskaitant būseną.

Pastato būklė nurodoma dviem būdais: orų piktograma ir spalvotu rutuliu. Orų piktograma yra ypač naudinga, nes joje rodomi kelių pastatų įrašai viename vaizde.

Kaip matote aukščiau pateiktame paveikslėlyje, saulė rodo, kad visi mano darbai buvo sėkmingi. Kamuolio spalva suteikia mums konkretaus statinio statusą, aukščiau pateiktame paveikslėlyje rutulio spalva yra mėlyna, o tai reiškia, kad būtent šis statinys buvo sėkmingas.

Šioje „Jenkins“ mokymo programoje ką tik pateikiau įvadinį pavyzdį. Kitame savo tinklaraštyje aš jums parodysiu, kaip iš „GitHub“ saugyklos ištraukti ir sukurti kodą naudojant „Jenkins“.

Jei tai radai Jenkins pamoka aktualu, patikrinkite sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. „Edureka DevOps“ sertifikavimo mokymo kursai padeda besimokantiesiems įgyti įvairių „DevOps“ procesų ir įrankių, tokių kaip „Lėlė“, „Jenkins“, „Nagios“ ir GIT, patirties, kad automatizuotų kelis SDLC veiksmus.

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