Jenkins Pipeline Tutorial: Hvordan lage JenkinsFile (eksempel)
Hva er Jenkins Pipeline?
Jenkins pipeline er en kombinasjon av plugins som støtter integrasjon og implementering av kontinuerlige leveringsrørledninger. Den har en utvidbar automatiseringsserver for å lage enkle og komplekse leveringspipelines som kode via pipeline DSL. En pipeline er en gruppe hendelser som er koblet sammen med hverandre i en sekvens.
Hva er rørledninger for kontinuerlig levering? Hvordan fungerer det?
I en Jenkins-pipeline har hver jobb eller hendelse en slags avhengighet av minst én eller flere hendelser.

Bildet ovenfor representerer en kontinuerlig leveringsrørledning i Jenkins. Den inneholder en gruppe stater kalt bygge, distribuere, teste og frigi. Disse hendelsene henger sammen med hverandre. Hver stat har sine hendelser, som fungerer i en sekvens som kalles en kontinuerlig leveringsrørledning.
En kontinuerlig leveringspipeline er et automatisert uttrykk for å vise prosessen din for å få programvare for versjonskontroll. Dermed går hver endring som gjøres i programvaren din gjennom en rekke komplekse prosesser på vei til å bli utgitt. Det innebærer også utvikling av programvaren på en pålitelig og repeterbar måte, og progresjon av den bygde programvaren gjennom flere stadier av testing og utplassering.
Hva er en JenkinsFile?
Jenkins pipelines kan defineres ved hjelp av en tekstfil kalt Jenkins-fil. Du kan implementere pipeline som kode ved å bruke JenkinsFile, og dette kan defineres ved å bruke et domenespesifikt språk (DSL). Med JenkinsFile kan du skrive trinnene som trengs for å kjøre en Jenkins-pipeline.
Fordelene ved å bruke JenkinsFile er:
- Du kan opprette rørledninger automatisk for alle grener og utføre pull-forespørsler med bare én Jenkins-fil.
- Du kan se gjennom Jenkins-koden din på rørledningen
- Du kan revidere Jenkins-rørledningen din
- Dette er den eneste kilden for rørledningen din og kan endres av flere brukere.
JenkinsFile kan defineres av enten web-UI eller med en Jenkins-fil.
Deklarativ versus skriptet pipeline-syntaks:
Det er to typer Jenkins pipeline-syntaks som brukes for å definere JenkinsFile.
- deklarativ
- Skriptet
Erklærende:
Deklarativ pipeline-syntaks tilbyr en enkel måte å lage pipelines på. Den inneholder et forhåndsdefinert hierarki for å lage Jenkins-rørledninger. Det gir deg muligheten til å kontrollere alle aspekter av en pipeline-utførelse på en enkel og grei måte.
Skript:
Scripted Jenkins-pipeline kjører på Jenkins-mesteren ved hjelp av en lett eksekutør. Den bruker svært få ressurser for å oversette rørledningen til atomkommandoer. Både deklarativ og skriptsyntaks er forskjellige fra hverandre og er definert helt annerledes.
Hvorfor bruke Jenkins pipeline?
Jenkins er en åpen kontinuerlig integrasjonsserver som har evnen til å støtte automatisering av programvareutviklingsprosesser. Du kan opprette flere automatiseringsjobber ved hjelp av brukstilfeller, og kjøre dem som en Jenkins-pipeline.
Her er grunnene til at du bør bruke Jenkins pipeline:
- Jenkins pipeline er implementert som en kode som lar flere brukere redigere og utføre pipeline-prosessen.
- Rørledninger er robuste. Så hvis serveren din gjennomgår en uforutsett omstart, vil rørledningen automatisk bli gjenopptatt.
- Du kan sette rørledningsprosessen på pause og få den til å vente med å gjenopptas til det kommer et innspill fra brukeren.
- Jenkins Pipelines støtter store prosjekter. Du kan kjøre flere jobber, og til og med bruke rørledninger i en sløyfe.
Jenkins pipeline Concepts
Begrep | Tekniske beskrivelser |
---|---|
Rørledning | Rørledningen er et sett med instruksjoner gitt i form av kode for kontinuerlig levering og består av instruksjoner som trengs for hele byggeprosessen. Med pipeline kan du bygge, teste og levere applikasjonen. |
Node | Maskinen som Jenkins kjører på kalles en node. En nodeblokk brukes hovedsakelig i skriptet pipeline-syntaks. |
Scene | En sceneblokk inneholder en rekke trinn i en rørledning. Det vil si at bygge-, test- og distribusjonsprosessene kommer sammen i et trinn. Vanligvis brukes en sceneblokk for å visualisere Jenkins-rørledningsprosessen. |
Trinn | Et trinn er ikke annet enn en enkelt oppgave som utfører en bestemt prosess på et definert tidspunkt. En rørledning innebærer en rekke trinn. |
Installer Build Pipeline Plugin i Jenkins
Med bygge rørledning plugin, kan du lage en pipeline-visning av innkommende og utgående jobber, og lage triggere som krever manuell intervensjon.
Her er hvordan du kan installere bygge rørledning plugin i din Jenkins:
Trinn 1) Innstillingene for pluginet finner du under,
Administrer Jenkins > Administrer plugins.
Hvis du allerede har installert plugin-en, vises den under installert-fanen.
Trinn 2) Hvis du ikke har installert plugin tidligere,
det vises under Tilgjengelig fanen.
Når du har installert bygge rørledning plugin i din Jenkins, følg disse trinnene for å lage din Jenkins pipeline:
Hvordan lage Jenkins Pipeline
Når du er logget på Jenkins-dashbordet:
Trinn 1) Klikk på "+" knappen på venstre side av Jenkins-dashbordet for å lage en pipeline.
Trinn 2)
- Du vil bli bedt om å gi et navn til rørledningsvisningen. Vi skal kalle det "Guru99 Pipeline” for varigheten av denne demoen.
- Velg Bygg en rørledningsvisning etter alternativer
- Klikk ok
Trinn 3) På neste side vil du bli bedt om flere detaljer for å konfigurere Jenkins-rørledningen. Bare godta standardinnstillingene, og sørg for at du velger den første jobben under innstillingene.
Klikk på Påfør og deretter OK.
Dette vil vise deg prøvepipeline-visningen av varen din, som gitt nedenfor:
Kjøre en pipeline build
Trinn 1) For å kjøre en rørledningsbygging, må du lenke jobbene dine først. For dette, gå til din første jobb og klikk på konfigurer.
Trinn 2) Nå, under Bygg utløsere, Undersøk Bygg etter at andre prosjekter er bygget alternativet.
Dermed er det opprettet en kjede for alle jobbene dine.
Trinn 3) Installer Bygg rørledningsvisning plugin hvis du ikke har den installert allerede.
Trinn 4) Gå til Jenkins-dashbordet og lag en visning ved å klikke på "+"-knappen. Velg Bygg rørledningsvisning alternativ og klikk OK.
Trinn 5) Under Konfigurasjon av rørledningsvisning, Lokaliser Rørledningsstrøm.
Under Rørledningsstrøm, velg den første jobben som skal kjøres. Velg nå jobben som har kjeder til andre jobber, som vist i Trinn 1 og Trinn 2.
Her har vi valgt ut Guru99 Prosjekt 1 som den første jobben, lenket til andre jobber. Så, en etter en, vil jobbene løpe i pipelinen.
Når Jenkins-rørledningen kjører, kan du sjekke statusen ved hjelp av røde og grønne statussymboler. Rødt betyr at rørledningen har sviktet, mens grønt indikerer suksess.
I dette Jenkins pipeline-eksemplet ser vi at knappen er grønn. Derfor er rørledningen vellykket.
Kjører Jenkins pipeline
Klikk på Kjør å kjøre Jenkins-rørledningen. Det vil se omtrent slik ut:
I eksemplet med Jenkins pipeline-skript ovenfor, demonstrerer vi et enkelt "helloworld.java"-program. Men i sanntidsprosjekter vil du være ansvarlig for å lage og bygge komplekse rørledninger i Jenkins. Se nedenfor for et eksempel på pipeline.
Beste praksis for bruk av Jenkins Pipeline:
- Bruk den ekte Jenkins Pipeline
- Utvikle din pipeline som kode
- Alt arbeid som ikke er oppsett i rørledningen bør skje innenfor en faseblokk.
- Eventuelt materialarbeid i en rørledning må utføres innenfor en nodeblokk.
- Ikke bruk inndata i en nodeblokk.
- Angi aldri miljøvariabler med env global variabel
- Pakk inn innspillene dine i en timeout