Hvordan bruke miljøvariablene i Jenkinsfile

Hvordan bruke miljøvariablene i Jenkinsfile
Jenkins er en Java-basert serverapplikasjon som kjører i en servletbeholder som Apache, Tomcat eller Jetty. Den består av plugins som gir forskjellige funksjoner og funksjonalitet som støtte for versjonskontrollsystemer, bygge verktøy og testrammer. Jenkins gir også et nettgrensesnitt for å administrere og konfigurere byggene, og se bygningsresultatene og rapportene.

Jenkins har blitt en av de mest populære automatiseringsserverne som spiller en betydelig rolle i CI/CD -operasjoner i utviklingssyklusen.

I Jenkins er det forskjellige måter du kan lage en ny Jenkins -jobb. Disse metodene inkluderer:

  1. Jenkins Web Interface - En måte å lage en jobb i Jenkins er å bruke Jenkins Web -grensesnittet. Dette innebærer å logge inn på Jenkins, klikke på lenken "Ny vare" og følge spørsmålene for å opprette en ny jobb.
  2. Jenkinsfile - En annen måte å skape en jobb i Jenkins er å bruke en Jenkinsfile. En Jenkinsfile er en tekstfil som inneholder definisjonene for en eller flere Jenkins -jobber. Det blir vanligvis sjekket inn i versjonskontroll og kan brukes til å automatisere prosessen med å lage og konfigurere jobber.
  3. Jenkins API - Du kan også lage jobber i Jenkins ved hjelp av Jenkins API. Jenkins API lar deg opprette og konfigurere jobbene programmatisk, samt utløse byggene og hente bygningsresultatene.
  4. Tredjepartsverktøy-Du kan bruke forskjellige tredjepartsverktøy og plugins for å lage og administrere Jenkins-jobbene. For eksempel lar Jenkins Job DSL-plugin deg lage jobbene ved hjelp av et domenespesifikt språk (DSL) som er skrevet i Groovy.
  5. Kopiering av en eksisterende jobb - Endelig kan du opprette en ny jobb i Jenkins ved å kopiere en eksisterende jobb. Dette kan være nyttig hvis du vil lage en ny jobb som ligner en eksisterende, men med små forskjeller.

Til tross for alle metodene for å skape en jobb i Jenkins, er bruk av Jenkensfile fortsatt en av de mest populære. Dette er fordi det gir en intuitiv deklarativ syntaks for å definere en samling trinn og stadier. Filen kan også integreres i et depot, slik at Jenkins kan oppdage og kjøre byggingen automatisk.

Derfor, når du jobber i en Jenkinsfile, vil du møte slike tilfeller der du trenger å bruke miljøvariablene.

Hva er miljøvariabler

Miljøvariabler refererer til et sett med nøkkelverdipar som kan nås eller settes fra en Jenkins-jobb. Miljøvariabler er nyttige når du trenger å lagre informasjon som kreves i flere prosjekter eller trinn. Dette lar deg passere verdiene som er lagret i variablene i forskjellige prosjekter uten repetisjon.

Jenkins utsetter forskjellige miljøvariabler som følger:

  • Globale variabler - Jenkins gir et sett med globale variabler tilgjengelig for alle jobber og bygninger. Disse variablene kan nås ved hjelp av env objekt i en jenkinsfile eller et skript.
  • Jobbspesifikke variabler - Vi kan også definere de scoped miljøvariablene for en gitt jobb. Vi kan definere denne typen miljøvariabler i jobbkonfigurasjonsfilen. Imidlertid er det godt å huske at disse variablene bare er tilgjengelige på den jobben.
  • Bygg variabler - den tredje miljøvariabelen i Jenkins er byggevariablene. Disse variablene kan settes ved hjelp av env Blokker i en Jenkinsfile eller ved å stille inn miljøvariablene i et skript.
  • Agentspesifikke variabler - Endelig lar Jenkins oss definere variablene som er spesifikke for et gitt middel. Vi kan definere agentvariablene i agentkonfigurasjonsfilen. Tilsvarende er disse typene variabler bare scoped for den agenten.

Se miljøvariablene i Jenkins

For å se de tilgjengelige miljøvariablene på Jenkins -kontrolleren din, naviger til følgende URL:

[Jenkins_address]/env-varsler.html

Eksempel:

http: // localhost: 8080/env-varsler.html

Et eksempelutgang er som følger:

Få tilgang til miljøvariablene i Jenkins

Som nevnt utsetter Jenkins miljøvariablene ved hjelp av Env -objektnavnet. Derfor kan vi bruke dette objektet for å få tilgang til verdiene til forskjellige miljøvariabler i Jenkins.

Ta følgende eksempel rørledning:

rørledning
agent noen
Stadier
scene ('env vars')
trinn
ekko "jobb: $ env.Build_id kjører på $ env.Jenkins_url "



Det forrige eksemplet bruker Env -objektet for å få byggnummer og serveradresse. Derfor bør det å kjøre den forrige rørledningen returnere følgende utgang:

Jobb: 1 kjører på http: // localhost: 9001/

Vi kan også få tilgang til Jenkins miljøvariabler ved å bruke variabelen kort navn. For eksempel kan vi få byggnummeret som $ build_number:

rørledning
agent noen
Stadier
scene ('env vars')
trinn
ekko "Jobb: $ build_id kjører på $ jenkins_url"



Resulterende utgang:

Jobb: 2 kjører på http: // localhost: 9001/

Forklar de jobbspesifikke miljøvariablene i Jenkins

Du kan definere de jobbspesifikke miljøvariablene i Jenkisfile ved hjelp av en miljøblokk.

Syntaksen er som følger:

miljø
[Variabel navn] = "[Verdi]"

Et eksempelutgang er som følger:

rørledning
agent noen
miljø
CC = 'GCC'

..

Det forrige eksemplet skal skape et lokalt miljø kalt CC med verdien av GCC.

Konklusjon

Du lærte om de forskjellige variablene i Jenkins og hvordan du kan lage og få tilgang til de globale og lokale miljøvariablene i Jenkins.