Kaip sukurti savo pirmąjį „Jenkins“ vamzdyną?

Žingsnis po žingsnio kuriant „Jenkins“ dujotiekį


Kodėl „Jenkins Pipeline“?

Nepertraukiamas pristatymas (CD) yra svarbi „DevOps Lifecycle“ dalis.

Tai užtikrina, kad programinės įrangos / programų kūrėjai visada yra pasirengę gaminti. Kad tai įvyktų, kai tik kodas atnaujinamas, jį reikia nuolat kurti, tikrinti ir diegti. Štai čia patenka „Jenkins Pipeline“ nuotrauka.

„DevOps“ programoje „Jenkins Pipeline“ pasiekiama nuolatinė integracija ir nuolatinis pristatymas (CI / CD). „Jenkins Pipeline“ naudojimas kompaktiniams diskams padeda pristatyti programinę įrangą greičiau ir dažniau. Tai padeda įtraukti atsiliepimus į kiekvieną kitą laidą.

Kas yra „Jenkins Pipeline“?

„Jenkins Pipeline“ yra darbų derinys, skirtas nuolat tiekti programinę įrangą naudojant „Jenkins“.

Manau, jūs žinote, kas yra Jenkinsas. Jei ne, tada patikrinkite tai Udemy kursas Jenkins meistrui.

„Jenkins“ dujotiekis susideda iš kelių būsenų ar etapų, ir jie vykdomi seka vienas po kito. „JenkinsFile“ yra paprastas tekstinis failas, naudojamas sukurti vamzdyną kaip kodą „Jenkins“. Jame yra kodas „Groovy Domain Specific Language“ (DSL), kurį lengva parašyti ir jis yra lengvai skaitomas žmonėms.

Arba galite paleisti „JenkinsFile“ atskirai, arba galite paleisti dujotiekio kodą iš „Jenkins Web UI“. Yra du būdai, kaip galite sukurti dujotiekį naudodami „Jenkins“.

  • Deklaratyvus – naujas „Jenkins Pipeline“ kūrimo būdas. Čia parašote grožio kodą, kuriame yra „dujotiekio“ blokai, kuris yra įtrauktas į SCM (Source Code Management)
  • Scripted – groovy kodo rašymo būdas, kai kodas yra apibrėžtas „mazgo“ blokuose.

Prieš įdiegdami demonstracinę versiją, jei dar neįdiegėte „Jenkins“, pirmiausia įdiekite ją. Įsitikinkite, kad turite „Jenkins“ ir naudojate savo sistemą.

Sukurkite „Jenkins“ vamzdyną

Taip atrodo „Jenkins“ dujotiekio srautas, kurį sudaro keli etapai tarp programinės įrangos kūrėjų (kodavimo) ir programinės įrangos, pristatytos gaminant.

„Jenkins Pipeline“

Sukurkime deklaratyvų dujotiekį.

„Jenkins“ prietaisų skydelyje spustelėkite Naujas elementas. Tada įveskite elemento pavadinimą, pavyzdžiui, „Pirmasis vamzdynas“ ir pasirinkite projektą „Vamzdynas“. Tada spustelėkite Gerai.

Naujas daiktas - „Jenkins Pipeline“

Spustelėkite skirtuką Vamzdynas, kaip parodyta žemiau esančiame paveikslėlyje, ir įdėkite čia savo „JenkinsFile“ kodą („Groovy Code“).

„JenkinsFile Code“

vamzdynas {
agentas bet kuris
etapai {
etapas (‘Build’) {
žingsniai {
echo ‘Labas, GeekFlare. Pradedama kurti programa. “
}
}
etapas („Testas“) {
žingsniai {
įvestis (‘Ar norite tęsti?’)
}
}
etapas („Diegti“) {
lygiagrečiai {
etapas (‘Pradėti diegti’) {
žingsniai {
aidas "Pradėkite diegimą .."
}
}
etapas („Diegiama dabar“) {
agentas {
dokininkas {
reuseNode tiesa
vaizdas „nginx“
}
}

žingsniai {
aidas "Sukurtas dokas"
}
}
}
}
etapas („Prod“) {
žingsniai {
aidas "Programa yra parengta versijai"
}

}
}
}

Leiskite man paaiškinti aukščiau pateiktus blokus.

  • vamzdynas bloką sudaro visos instrukcijos, kaip sukurti, išbandyti ir pateikti programinę įrangą. Tai yra pagrindinis „Jenkins Pipeline“ komponentas.
  • An agentas yra paskirta vykdyti dujotiekį mazge ir paskirstyti dujotiekio darbo vietą.
  • A etapas yra blokas, kuriame yra programos kūrimo, bandymo ir diegimo žingsniai. Etapai naudojami vizualizuoti „Jenkins Pipeline“ procesus.
  • A žingsnis yra viena užduotis, kurią reikia atlikti, pavyzdžiui, sukurti katalogą, paleisti doko atvaizdą, ištrinti failą ir pan.

Aukščiau pateiktas „Groovy“ kodas, aš naudoju „JenkinsFile“. Bet kuris turimas agentas yra priskiriamas dujotiekiui. Tada aš apibrėžiu „Build“ sceną ir atlieku paprastą aido žingsnį. Tada aš apibrėžiau bandymo etapą, kuriame žingsnis klausia, ar norite tęsti, ar ne. Po to sukūriau „Deploy“ etapą, kuriame yra dar du etapai, einantys lygiagrečiai. Įdiegimo pradžios etape yra žingsnis su echo komanda, o diegiant dabar yra žingsnis, kuris ant mazgo ištraukia dokininko Nginx vaizdą. Galiausiai yra „Prod“ etapas su paprastu aido žingsniu.

Aukščiau paaiškintame dujotiekyje yra etapai, kuriuose atlikti paprasti veiksmai, skirti suprasti, kaip jis veikia. Sužinoję, kaip sukurti vamzdyną, galite pridėti daugiau sudėtingumo ir sukurti sudėtingus vamzdynus.

Kai turėsite kodą skirtuke Vamzdynas, spustelėkite Taikyti ir Įrašyti. Galiausiai spustelėkite „Sukurti dabar“, kad pradėtumėte kurti „Jenkins“ vamzdyną, kurį ką tik sukūrėte.

Sukurkite dabar

Taip atrodys vartotojo sąsaja, kai bėgs dujotiekis. Jei teisingai atlikote visus veiksmus, jūsų pastatymas bus sėkmingas ir bus parodyta mėlyna spalvos spalva (# 27). Jei pastatydami darote klaidų, statiniui bus suteikta raudona spalva (# 27).

„Jenkins Build 27“

Dabar spustelėkite # 27 statyti ir tada spustelėkite konsolės išvestį, kad patikrintumėte, kas tiksliai nutiko fone, kai ji vyko.

„Jenkins Build“

Taip atrodys išėjimas, pasibaigiantis SĖKMĖS pranešimu.

Sėkmės pulto išvestis

Pradėjo vartotojas geekflare
Važiavimas patvarumo lygiu: MAX_SURVIVABILITY
[Vamzdynas] Vamzdyno pradžia
[Vamzdyno] mazgas
Veikia „Jenkins“ aplanke / var / lib / jenkins / workspace / „First Pipeline“
[Vamzdynas] {
[Vamzdyno] etapas
[Vamzdynas] {(statyti)
[Vamzdyno] aidas
Sveiki, „GeekFlare“. Pradėjus kurti programą.
[Vamzdynas]}
[Vamzdynas] // etapas
[Vamzdyno] etapas
[Vamzdynas] {(Testas)
[Vamzdyno] įėjimas
Ar norite testi?
Tęsti arba nutraukti
Patvirtinta geekflare
[Vamzdynas]}
[Vamzdynas] // etapas
[Vamzdyno] etapas
[Vamzdynas] {(diegti)
[Vamzdynas] lygiagretus
[Vamzdynas] {(Filialas: Diegimo pradžia)
[Vamzdynas] {(Filialas: diegiama dabar)
[Vamzdyno] etapas
[Vamzdynas] {(Įdiekite pradžią)
[Vamzdyno] etapas
[Vamzdynas] {(diegiama dabar)
[Vamzdynas] „getContext“
[Vamzdynas] isUnix
[Vamzdynas] sh
[Vamzdyno] aidas
Pradėkite diegimą ..
[Vamzdynas]}
+ dokininkas apžiūrėti -f. nginx
[Vamzdynas] // etapas
[Vamzdynas]}

Klaida: tokio objekto nėra: „nginx“
[Vamzdynas] isUnix
[Vamzdynas] sh
+ dokininkas pull nginx
Naudojant numatytąją žymą: vėliausia
vėliausiai: ištraukimas iš bibliotekos / nginx
8d691f585fa8: traukiamas fs sluoksnis
5b07f4e08ad0: traukiamas fs sluoksnis
abc291867bca: traukiamas fs sluoksnis
abc291867bca: tikrinamos sumos tikrinimas
abc291867bca: atsisiuntimas baigtas
5b07f4e08ad0: Kontrolinės sumos tikrinimas
5b07f4e08ad0: Atsisiuntimas baigtas
8d691f585fa8: Kontrolinės sumos tikrinimas
8d691f585fa8: Atsisiuntimas baigtas
8d691f585fa8: „pull“
5b07f4e08ad0: Ištraukite
abc291867bca: „pull“ pilnai užpildytas
Digest: sha256: 922c815aa4df050d4df476e92daed4231f466acc8ee90e0e774951b0fd7195a4
Būsena: atsisiųstas naujesnis „nginx“ vaizdas: vėliausias
[Vamzdynas] su „DockerContainer“
Panašu, kad „Jenkins“ nevažinėja konteinerio viduje
$ docker run -t -d -u 125: 131 -w "/ var / lib / jenkins / workspace / Pirmasis vamzdynas" -v "/ var / lib / jenkins / workspace / Pirmasis vamzdynas: / var / lib / jenkins / darbinis / Pirmasis vamzdynas: rw, z" -v "/ var / lib / jenkins / workspace / Pirma [apsaugotas el. paštu]: / var / lib / jenkins / workspace / Pirma [apsaugotas el. paštu]: rw, z" -e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** nginx katė
$ dokininko viršus 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943 -eo pid, comm
[Vamzdynas] {
[Vamzdyno] aidas
Sukurtas dokas
[Vamzdynas]}
$ doko stotelė – laikas = 1 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943
$ dokininkas rm -f 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943
[Vamzdynas] // withDockerContainer
[Vamzdynas]}
[Vamzdynas] // etapas
[Vamzdynas]}
[Vamzdynas] // lygiagretus
[Vamzdynas]}
[Vamzdynas] // etapas
[Vamzdyno] etapas
[Vamzdynas] {(Prod)
[Vamzdyno] aidas
Programa yra parengta versijai
[Vamzdynas]}
[Vamzdynas] // etapas
[Vamzdynas]}
[Vamzdynas] // mazgas
[Vamzdynas] Vamzdyno pabaiga
Baigta: SĖKMĖ

Aukščiau minėtas „Jenkins Pipeline“ sukūrė dokininko Nginx atvaizdą. Galite tai patikrinti vykdydami žemiau pateiktą komandą. Galite pamatyti, kad „Nginx“ doko vaizdas taip pat pateiktas sąraše.

[apsaugotas el. paštu]: ~ $ dokininko atvaizdas
REPOSITORY ŽEMĖLAPIO VAIZDO ID SUKURTAS DYDIS
„nginx“ naujausias 540a289bab6c prieš 2 savaites 126 MB
„httpd“ paskutinis 7d85cc3b2d80 prieš 2 mėnesius 154 MB
redis naujausias f7302e4ab3a8 prieš 2 mėnesius 98,2 MB
geekflare_mongodb latest 095d17727ca0 3 months ago 325MB

Išvada

Tikiuosi, kad tai suteiks jums idėją Jenkins vamzdynas naudą ir kaip jūs galite sukurti. Aukščiau yra paprastas demonstravimas, o geriausias būdas mokytis yra pabandyti pastatyti sudėtingus vamzdynus.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map