Jenkinsfile -parametere

Jenkinsfile -parametere

En Jenkinsfile er en tekstfil som inneholder definisjonen av en Jenkins -rørledning og er sjekket inn i kildekontrollen. Den brukes til å automatisere deler av CI/CD -rørledningen, definere oppgaver og parametere som Jenkins kan bruke til å kjøre disse oppgavene.

En måte å parameterisere en Jenkinsfile er å bruke parametere. Parametere lar deg overføre data til en Jenkinsfile ved kjøretid. Dette kan være nyttig for miljøspesifikke konfigurasjoner eller passere i verdier som er spesifikke for gjeldende bygg.

I denne opplæringen lærer du hvordan du bruker Jenkinsfile -parametere i en Jenkins -rørledning.

Krav:

  1. Grunnleggende kunnskap om Jenkins og Jenkins Pipeline -plugin
  2. En Jenkins -forekomst med Jenkins Pipeline -plugin installert
  3. En Jenkinsfile i kildekontrolllageret ditt

Jenkins erklærer parametere

Før vi bruker noen parametere i en Jenkinsfile, må vi først erklære dem i Jenkinsfile. Vi kan oppnå dette ved å bruke parameterblokken.

Ta for eksempel rørledningsdelen vist nedenfor:

rørledning
parametere
Streng (navn: 'Miljø', StandardValue: 'Dev', Beskrivelse: 'Miljøet å distribuere til')
Boolean (navn: 'Deploy', defaultValue: False, Beskrivelse: 'Enten å distribuere eller ikke')

..

I eksemplet over inneholder Jenkinsfile to parametere som:

  1. MILJØ - en strengparameter med en standardverdi på 'Dev.'
  2. UTPLASSERE - en boolsk parameter med en standardverdi av falsk.

Vi kan spesifisere et hvilket som helst antall parametere i parameterblokken. Jenkins støtter forskjellige parametertyper inkludert:

  1. Strengparametertyper - brukes til å lagre en sekvens av tegn
  2. Tekstparametere - Ligner på strengparametertype, men kan spenne over flere linjer. Et eksempel er en beskrivelsesparameter, som vist i forrige eksempel.
  3. Booleanparam - Booleanparam eller boolean brukes til å lagre sannhets- eller forfalskningsverdier.
  4. Valg - Valgparametere derimot lar deg lagre flervalgsverdier.
  5. Passord - Passordparametere brukes til å lagre passord og autentiseringsinformasjon.

Jenkins tilgangsparametere

Når vi har erklært parametrene dine i Jenkinsfile, kan vi få tilgang til verdiene deres ved å bruke $ Params -objektet.

For å få tilgang til verdien av miljøparameteren i et stadium, kan vi for eksempel bruke $ params.MILJØ.

Eksempel Demonstrasjon

Ta eksemplet rørledningen nedenfor som viser hvordan du bruker forskjellige parametertyper i Jenkins:

rørledning
agent noen
parametere
Streng (navn: 'Navn', defaultValue: 'Jenkins', beskrivelse: 'Brukernavn')
Tekst (navn: 'Desc', defaultValue: ", Beskrivelse: 'Beskrivelse om brukeren. ')
BooleanParam (navn: 'Toggle', defaultValue: True, Beskrivelse: 'Aktiver/Deaktiver')
Valg (navn: 'valg', valg: [1,2,3,4,5], Beskrivelse: 'Velg en verdi')
Passord (navn: 'Passwd', standardverdi: 'Hemmelighet', Beskrivelse: 'Gi passord')

Stadier
scene ('eksempel')
trinn
ekko "hei $ params.Navn"
ekko "Desc: $ params.desc "
ekko "Toggle: $ params.veksle"
ekko "valg: $ params.valg"
ekko "Passord: $ params.passwd "



Produksjon:

Jenkins setter verdi

I en deklarativ Jenkinsfile kan vi sette en verdi av en gitt parameter som vist i eksemplet nedenfor:

rørledning
parametere
Streng (navn: 'Miljø', defaultValue: 'Dev', Beskrivelse: 'Miljøet å distribuere til', verdi: 'Prod')
..

I dette eksemplet vil miljøparameteren alltid være satt til 'prod' når du kjører byggingen.

Når vi jobber i en skriptet Jenkinsfile, kan vi angi verdien for en gitt parameter ved hjelp av build -kommandoen. Et eksempel DemonStaration er som vist:

Node
..
scene ('distribuering')
Bygg jobb: 'Deploy', parametere: [[$ klasse: 'StringParameterValue', navn: 'Miljø', verdi: 'Prod']]

I dette tilfellet er rørledningsverdien til miljøvariabelen alltid satt til å produsere.

Innstilling av parameter standardverdi

Det er lurt å angi standardverdier for de definerte parametrene hvis verdien ikke er gitt under byggeprosessen. Vi kan oppnå dette ved å bruke standardverdiparameteren som vist i eksemplet nedenfor:

parametere
Streng (navn: 'Miljø', StandardValue: 'Dev', Beskrivelse: 'Miljøet å distribuere til')

I dette tilfellet vil miljøparameteren standard "dev" hvis en verdi ikke er gitt under byggingen.

Konklusjon

I denne artikkelen oppdaget du hvordan du bruker Jenkinsfile -parametere i en Jenkins -rørledning. Du lærte hvordan du erklærer parametere i Jenkinsfile, får tilgang til verdiene deres i trinn og angir parameterverdien under byggeprosessen. Til slutt oppdaget vi hvordan du bruker standardverdiparameteren for å tilordne en standardverdi til en gitt parameter hvis verdien mangler.

Ved hjelp av Jenkinsfile -parametere kan vi gjøre Jenkins -rørledningen mer fleksibel og enklere å tilpasse for forskjellige miljøer og bruke tilfeller.