1 skyrius Kas yra Dženkinsas?
"Jenkins" yra keičiamo dydžio, nuolatinės integracijos variklis.
Daugiausia naudojama:
- Nuolat ir automatiškai kurkite / testuokite programinės įrangos projektus.
- l Stebėkite kai kurias reguliariai atliekamas užduotis.
Jenkinso savybės yra šios:
- Lengva įdiegti - tiesiog įdiekite jenkins.war į servlet konteinerį be duomenų bazės palaikymo.
- l Lengva konfigūruoti - visos konfigūracijos pasiekiamos per jos teikiamą žiniatinklio sąsają.
- l Integruotas RSS / el. paštas skelbia komponavimo rezultatus per RSS arba pranešimus el. paštu, kai kūrimas baigtas.
- l Generuokite JUnit/TestNG bandymų ataskaitas.
- l Paskirstytas kūrimo palaikymas Jenkins leidžia kelioms mašinoms kurti / išbandyti kartu.
- l Failų atpažinimas: Jenkins gali sekti, kurie stiklainiai yra sugeneruoti pagal kurią konstrukciją, kuri versija stiklainio yra naudojama, kuri statyti ir tt.
- l Papildinių palaikymas: palaikomi plėtiniai, todėl galite kurti įrankius, atitinkančius jūsų komandos naudojimą.
1 Jenkinso kilmė
Nuolatinė integracija (CI) tapo įprasta praktika daugeliui programinės įrangos kūrimo komandų sutelkti dėmesį į kodo kokybės užtikrinimą per visą programinės įrangos kūrimo ciklą. Tai praktika, skirta palengvinti ir sustiprinti programinės įrangos kūrimo procesą. Tai gali padėti jūsų kūrėjų komandai įveikti tokius iššūkius kaip:
- l Programinės įrangos kūrimo automatizavimas: Baigus konfigūraciją, CI sistema sukurs tikslinę programinę įrangą pagal iš anksto nustatytą tvarkaraštį arba konkrečiam įvykiui.
- l Sukurkite tvarius automatinius patikrinimus: CI sistema gali nuolat gauti naują arba modifikuotą registracijos šaltinio kodą, tai yra, kai programinės įrangos kūrimo komandai reikia periodiškai tikrinti naują ar modifikuotą kodą, CI sistema nuolat patvirtins, ar naujas kodas sutrikdė sėkmingą originalios programinės įrangos kūrimą. Tai sumažina laiką ir pastangas, kurias kūrėjai praleidžia tikrindami, ar nėra tarpusavyje susijusio kodo pakeitimų (tiesą sakant, hehe).
- l Sukurkite tvarų automatizuotą testavimą: sukurkite išplėstinę patikrinimo dalį, atlikę iš anksto nustatytą testavimo taisyklių rinkinį po kūrimo ir suaktyvinkite pranešimus (el. paštu, RSS ir kt.) atitinkamoms šalims.
- l Vėlesnių procesų automatizavimas po generavimo: sėkmingai atlikus automatinius patikrinimus ir testus, programinės įrangos kūrimo cikle gali prireikti papildomų užduočių, pvz., generuoti dokumentaciją, pakuoti programinę įrangą ir įdiegti komponentus vykdymo ar programinės įrangos saugykloje. Tai leidžia komponentus greičiau padaryti prieinamus vartotojams.
- Minimalūs reikalavimai, reikalingi norint įdiegti CI sistemą, yra turimo šaltinio kodo saugykla ir projektas su kūrimo scenarijais.
Šioje diagramoje apibendrinta pagrindinė CI sistemos struktūra:
Sistemos komponentai veikia tokia tvarka:
1. Kūrėjas patikrina kodą šaltinio kodo saugykloje.
2. CI sistema sukuria atskirą darbo vietą kiekvienam projektui. Kai nauja komponavimo versija yra iš anksto nustatyta arba prašoma, ji saugos šaltinio kodą iš šaltinio kodo saugyklos atitinkamoje darbo srityje.
3. CI sistema vykdys kūrimo procesą atitinkamoje darbo vietoje.
4. (Jei konfigūracija yra) Kai kūrimas bus baigtas, CI sistema atlieka apibrėžtą testų rinkinį naujame artefakte. Suaktyvinkite pranešimus (el. paštu, RSS ir kt.) atitinkamoms šalims.
5. (Konfigūracija, jei yra) Jei komponavimas sėkmingas, šis artefaktas supakuojamas ir perkeliamas į diegimo tikslą (pvz., taikomųjų programų serverį) arba saugomas kaip nauja versija programinės įrangos saugykloje. Programinės įrangos saugykla gali būti CI sistemos arba išorinės saugyklos dalis, pvz., failų serveris arba svetainė, pvz., Java.net, SourceForge ir kt.
6. CI sistema paprastai inicijuoja atitinkamus veiksmus pagal užklausas, pvz., momentines versijas, ataskaitų generavimą arba kai kurių sukurtų artefaktų gavimą.
Jenkins yra viena iš tokių CI sistemų. Anksčiau žinomas kaip Hudsonas.
Štai keletas priežasčių, kodėl verta naudoti Jenkins:
- l Tai lengviausia įdiegti ir konfigūruoti iš visų CI produktų.
- l Remiantis žiniatinklio prieiga, vartotojo sąsaja yra labai draugiška, intuityvi ir lanksti, daugeliu atvejų suteikia tiesioginį grįžtamąjį ryšį iš AJAX.
- l Jenkins sukurtas "Java" (tai labai naudinga, jei esate "Java" kūrėjas), tačiau jis neapsiriboja "Java" pagrįstos programinės įrangos kūrimu.
- l Jenkins turi daug įskiepių. Šie papildiniai labai išplečia Jenkins funkcionalumą; Visi jie yra atvirojo kodo, juos galima įdiegti ir valdyti tiesiogiai per žiniatinklio sąsają.
1.1 Jenkinso tikslai Pagrindinis Jenkinso tikslas yra stebėti programinės įrangos kūrimo procesą ir greitai atskleisti problemas. Todėl tai gali užtikrinti, kad kūrėjai ir susiję darbuotojai sutaupytų laiko ir pastangų bei pagerintų kūrimo efektyvumą.
Pagrindinis CI sistemos vaidmuo viso kūrimo proceso metu yra kontrolė: kai sistema aptinka kodo saugyklos pakeitimą, ji perduoda kūrimo užduotį pačiam kūrimo procesui. Jei kūrimas nepavyksta, CI sistema praneša atitinkamam asmeniui ir toliau stebi saugyklą. Jo veikėjai atrodo pasyvūs; Tačiau tai greitai atspindi problemą.
Visų pirma, jis turi šiuos privalumus:
- l Jenkinsas Visas konfigūracijas galima atlikti žiniatinklio sąsajoje. Kai kurias konfigūracijas, pvz., MAVEN_HOME ir el. paštą, reikia sukonfigūruoti tik vieną kartą, o visus projektus galima naudoti. Žinoma, jį taip pat galima sukonfigūruoti modifikuojant XML.
- l Moduliai, palaikantys "Maven", "Jenkins" optimizavo "Maven", todėl gali automatiškai atpažinti modulius, o kiekvieną modulį galima sukonfigūruoti kaip užduotį. Gana lankstus.
- l Bandymų ataskaitų apibendrinimas, visų modulių bandymų ataskaitos apibendrinamos, o rezultatai yra aiškūs iš pirmo žvilgsnio, naudojant kitus CI, o tai beveik neįmanoma užduotis.
- l Artefakto pirštų atspaudai, kiekvienos versijos rezultatas yra gerai valdomas automatiškai, jį galima lengvai naršyti ir atsisiųsti be jokios konfigūracijos.
|