Kuidas luua oma esimene Jenkinsi torujuhe?

Jenkinsi torujuhtme loomise samm-sammuline juhend


Miks just Jenkins Pipeline?

Pidev kohaletoimetamine (CD) on DevOps Lifecycle’i oluline osa.

See tagab, et tarkvara / rakenduste arendajate loodavad tooted on alati valmis. Et see juhtuks, tuleb koodi uuendamisel alati seda pidevalt ehitada, katsetada ja juurutada. Siin tuleb pildile Jenkins Pipeline.

DevOpsis saavutatakse Jenkins Pipeline’i kaudu pidev integreerimine ja pidev edastamine (CI / CD). Jenkins Pipeline’i kasutamine CD jaoks aitab tarkvara kiiremini ja sagedamini välja anda. See aitab tagasiside lisada igasse järgmisse väljaandesse.

Mis on Jenkins Pipeline?

Jenkins Pipeline on töökombinatsioon tarkvara edastamiseks, kasutades Jenkinsit pidevalt.

Ma eeldan, et teate, mis Jenkins on. Kui ei, siis vaadake seda Udemy kursus Jenkinsi kapteniks.

Jenkinsi torujuhe koosneb mitmest olekust või etapist ja neid täidetakse üksteise järel. JenkinsFile on lihtne tekstifail, mida kasutatakse torujuhtme loomiseks koodina Jenkinsis. See sisaldab koodi Groovy Domain Special Language (DSL), mis on hõlpsasti kirjutatav ja inimesele loetav.

Võite käitada JenkinsFile’i eraldi või käivitada torujuhtme koodi ka Jenkins Web UI-st. Jenkinsi abil saab torujuhtme luua kahel viisil.

  • Deklaratiivne – uus viis Jenkins Pipeline’i loomiseks. Kirjutate siia torukoodiplokke sisaldava groovy-koodi, mis kontrollitakse SCM-i (Source Code Management)
  • Skriptitud – sobiliku koodi kirjutamise viis, kus kood on määratletud sõlmeplokkides.

Enne kui asume demosse, kui te pole Jenkinsit installinud, installige see kõigepealt. Veenduge, et Jenkins oleks teie süsteemis üles töötatud.

Looge Jenkinsi torujuhe

Nii näeb välja Jenkinsi torujuhtme voog, mis koosneb mitmest etapist tarkvara (kodeerimise) loojate ja tootmisel tarnitud tarkvara vahel.

Jenkins Pipeline

Loome deklaratiivse torujuhtme.

Klõpsake Jenkinsi juhtpaneelil nuppu Uus üksus. Seejärel sisestage üksuse nimi, näiteks „Esimene torujuhe” ja valige projekt „Torustik”. Seejärel klõpsake nuppu OK.

Uus toode - Jenkins Pipeline

Klõpsake vahekaarti Pipeline, nagu on näidatud alloleval pildil, ja pange siia oma JenkinsFile kood (Groovy Code).

JenkinsFaili kood

torujuhe {
agent ükskõik
etapid {
lava (‘Ehita’) {
sammud {
kaja ‘Tere, GeekFlare. Alustatakse rakenduse ehitamist. ‘
}
}
etapp (‘Test’) {
sammud {
input (‘Kas soovite jätkata?’)
}
}
etapp (‘juurutamine’) {
paralleelselt {
etapp (‘Alusta juurutamist’) {
sammud {
kaja "Alusta juurutamist .."
}
}
etapp (‘Praegu juurutatakse’) {
agent {
dokk {
reuseNode tõene
pilt ‘nginx’
}
}

sammud {
kaja "Dokker loodud"
}
}
}
}
lava (‘Prod’) {
sammud {
kaja "Rakendus on tootevalmidus"
}

}
}
}

Selgitan ülaltoodud plokke.

  • gaasijuhe plokk koosneb kõigist juhistest tarkvara loomiseks, testimiseks ja tarnimiseks. See on Jenkinsi torujuhtme põhikomponent.
  • An agent on määratud torustiku käivitamiseks sõlmes ja torujuhtme tööala eraldamiseks.
  • A lava on plokk, millel on rakenduse loomise, testimise ja juurutamise sammud. Etappe kasutatakse Jenkins Pipeline protsesside visualiseerimiseks.
  • A samm on üks ülesanne, mida tuleb täita, näiteks luua kataloog, käivitada doki pilt, kustutada fail jne.

Ülalolev Groovy kood, mida ma kasutan JenkinsFile jaoks. Kõik saadaval olevad agendid määratakse gaasijuhtme juurde. Seejärel määratlen Ehituse etapi ja viin läbi lihtsa kajaetapi. Seejärel määratlesin testi etapi, kus samm küsib, kas soovite jätkata või mitte. Pärast seda olen loonud Deploy etapi, millel on veel kaks etappi paralleelselt. Kasutuselevõtu algusstaadiumis on samm kaja käsklusega ja juurutamisel on nüüd samm, mis tõmbab sõlme dokkuri pildi Nginxist. Lõpuks on olemas Prodi etapp, millel on lihtne kaja samm.

Ülaltoodud torujuhtmel on etapid, millel on lihtsad sammud, et saaksite aru, kuidas see töötab. Kui olete õppinud, kuidas luua torujuhet, saate seda veelgi keerukamaks lisada ja luua ka keerulisi torujuhtmeid.

Kui kood Torujuhtme vahekaardil on, klõpsake nuppu Rakenda ja Salvesta. Lõpuks klõpsake äsja loodud Jenkins Pipeline’i ehitamise alustamiseks nuppu Ehita kohe.

Ehitage kohe

Nii näeb kasutajaliides torujuhtme kulgemise ajal välja. Kui olete kõiki samme õigesti järginud, õnnestub teie ehitamine ja see näitab ehituse sinist värvi (# 27). Kui ehitamisel on vigu, annab see ehitamisele punase värvi (# 27).

Jenkins Ehita 27

Nüüd klõpsake # 27 ehitada ja seejärel klõpsake Konsooli väljund, et kontrollida, mis täpselt juhtus taustal, kui see jooksis.

Jenkins Ehita

Nii näeb väljund välja SUCCESS-teatega lõppedes.

Edukonsooli väljund

Alustas kasutaja geekflare
Töötamine vastupidavuse tasemel: MAX_SURVIVABILITY
Torujuhtme algus
[Torujuhtme] sõlm
Jooksmine Jenkinsiga kataloogis / var / lib / jenkins / workspace / First Pipeline
[Torustik] {
[Torujuhtme] etapp
[Torujuhtme] {(ehitama)
[Torujuhtme] kaja
Tere, GeekFlare. Rakenduse ehitamise alustamine.
[Torujuhe]}
[Torujuht] // etapp
[Torujuhtme] etapp
[Torustik] {(test)
[Torujuhtme] sisend
Kas soovite jätkata??
Jätkake või katkestage
Heaks kiitnud geekflare
[Torujuhe]}
[Torujuht] // etapp
[Torujuhtme] etapp
[Torujuhtme] {(juurutada)
[Torujuhtme] paralleelne
[Torujuhtme] {(Filiaal: juurutamise algus)
[Torujuht] {(Filiaal: juurutatakse kohe)
[Torujuhtme] etapp
[Torujuhtme] {(juurutage algus)
[Torujuhtme] etapp
[Torujuhtme] {(juurutatakse praegu)
[Torustik] getContext
[Torujuht] onUnix
[Torustik] sh
[Torujuhtme] kaja
Alusta juurutamist ..
[Torujuhe]}
+ dokki kontrollima -f. nginx
[Torujuht] // etapp
[Torujuhe]}

Viga: sellist objekti pole: nginx
[Torujuht] onUnix
[Torustik] sh
+ dokker pull nginx
Vaikimisi sildi kasutamine: viimane
Viimane: kogumine raamatukogust / nginx
8d691f585fa8: fs-kihi tõmbamine
5b07f4e08ad0: fs kihi tõmbamine
abc291867bca: fs-kihi tõmbamine
abc291867bca: kontrollsumma kinnitamine
abc291867bca: allalaadimine on lõpule viidud
5b07f4e08ad0: kontrollsumma kinnitamine
5b07f4e08ad0: allalaadimine lõpetatud
8d691f585fa8: kontrollsumma kinnitamine
8d691f585fa8: allalaadimine on lõpule viidud
8d691f585fa8: tõmmake lõpuni
5b07f4e08ad0: tõmmake lõpuni
abc291867bca: tõmmake lõpule
Digest: sha256: 922c815aa4df050d4df476e92daed4231f466acc8ee90e0e774951b0fd7195a4
Olek: alla laaditud nginxi uuem pilt: viimane
[Torujuht] rakendusegaDockerContainer
Tundub, et Jenkins ei jookse konteinerisse
$ doki käitamine -t -d -u 125: 131 -w "/ var / lib / jenkins / workspace / Esimene torujuhe" -v "/ var / lib / jenkins / tööruum / Esimene torujuhe: / var / lib / jenkins / tööala / Esimene torujuhe: rw, z" -v "/ var / lib / jenkins / workspace / Esimene [e-posti aadress on kaitstud]: / var / lib / jenkins / workspace / Esimene [e-posti aadress on kaitstud]: 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 kass
$ doki ülaosa 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943 -eo pid, comm
[Torustik] {
[Torujuhtme] kaja
Dokker loodud
[Torujuhe]}
$ dokipeatus – aeg = 1 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943
$ dokk rm -f 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943
[Torujuht] // withDockerContainer
[Torujuhe]}
[Torujuht] // etapp
[Torujuhe]}
[Torujuht] // paralleelne
[Torujuhe]}
[Torujuht] // etapp
[Torujuhtme] etapp
[Torujuhtme] {(Prod)
[Torujuhtme] kaja
Rakendus on tootevalmidus
[Torujuhe]}
[Torujuht] // etapp
[Torujuhe]}
[Torujuht] // sõlm
Torujuhtme lõpp
Lõpetatud: SUCCESS

Ülaltoodud Jenkins Pipeline on loonud dokkide pildi Nginxist. Seda saate kontrollida allpool oleva käsu käivitamisega. Näete, et loendis on ka Nginxi doki pilt.

[e-posti aadress on kaitstud]: ~ $ doki pilt on ls
REPOSITORY PILDI PILDI ID LOODUD SUURUS
nginx hiljemalt 540a289bab6c 2 nädalat tagasi 126 MB
httpd hiljemalt 7d85cc3b2d80 2 kuud tagasi 154 MB
redis hiljemalt f7302e4ab3a8 2 kuud tagasi 98,2 MB
geekflare_mongodb hiljemalt 095d17727ca0 3 kuud tagasi 325MB

Järeldus

Loodetavasti annab see teile ettekujutuse Jenkins torujuhtme eelised ja kuidas seda luua. Ülaltoodud on lihtne tutvustus ja parim viis õppida on keerukate torujuhtmete ehitamisega.

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