En Jenkins -scene refererer til en fase i en Jenkins -rørledning. Stadier lar oss gruppere en serie med oppgaver i en enkelt enhet og referere til dem under en unik identifikator. Ved hjelp av Jenkins -trinn kan vi visualisere og spore fremdriften i rørledningen ved hjelp av den spesifiserte identifikatoren. Det kan også hjelpe oss med å spore feilene i tømmerstokkene.
For eksempel kan vi ha en rørledning med tre trinn: bygg, test og distribuere. Hvert trinn inneholder en eller flere oppgaver som trengs for å fullføre setoppgavene. For eksempel i byggestadiet kan vi ha oppgaver som å installere nødvendige avhengigheter, sette opp katalogene osv.
I teststadiet kan vi kjøre testene som er nødvendige for det prosjektet og publisere testresultatene ved hjelp av verktøy som HTML -rapporter, agurk osv.
Til slutt, i distribusjonsstadiet, kan vi ha oppgavene som å logge på en ekstern server, utføre et installasjonsskript og andre trinn.
Når vi kjører rørledningen, utfører Jenkins oppgavene i hvert trinn i den rekkefølgen de er definert til å fullføre. Hvis et av trinnene i et gitt stadium mislykkes, mislykkes hele byggingen og ingen andre stadier blir utført.
Jenkins sceneblokk
I en Jenkinsfile kan vi definere stadiene ved hjelp av trinn og sceneblokk. Stadiene -blokken lar oss fortelle Jenkins at de kommende blokkene inneholder stadiene som vi ønsker å utføre i bygningen.
Vi bruker deretter sceneblokken for å definere et distinkt sett med oppgaver som utføres i rørledningen.
Et eksempel på syntaks er som følger:
rørledning
agent noen
Stadier
scene ('build')
trinn
// Oppgaver å løpe går hit
scene ('test')
trinn
// Testoppgaver
scene ('distribuering')
trinn
// distribusjonsoppgaver
Hvert trinn må inneholde ett eller flere trinn som er de individuelle oppgavene som utføres i sammenheng med scenen. For eksempel kan du definere trinnene ved å bruke en av de tilgjengelige trinnfunksjonene som SH for å utføre en Shell -kommando, et groovy manus eller git for å kjøre en GIT -kommando.
Du kan sjekke dokumentasjonen og pluginstøtten for å lære Jenkins muligheter.
Eksempel:
Følgende eksempel viser en enkel rørledning med et enkelt trinn:
rørledning
agent noen
Stadier
scene ('versjon')
trinn
manus
Def JenkinsVersion = Hudson.modell.Hudson.forekomst.versjon
Println "Jenkins Version: $ JenkinsVersion"
Den forrige rørledningen definerer et enkelt trinn kalt “versjon” som inneholder et enkelt trinn som utfører et groovy -skript. Manuset bruker Hudson.modell.Hudson -klasse for å få Jenkins -versjonen og skrive ut den ved hjelp av Println -funksjonen.
Når vi har kjørt forrige rørledning, bør vi se den installerte Jenkins -versjonen i konsollutgangen.
Konklusjon
Dette innlegget dekker om hvordan du lager og bruker stadiene i en Jenkins -rørledning. Stadier lar oss gruppere oppgavene under en enkelt enhet for enklere styring og sporing.