Jenkins Pipeline-handledning: Hur man skapar JenkinsFil (exempel)
โก Smart sammanfattning
Jenkins Pipeline-lรคnkar bygger, testar och distribuerar jobb i en ordnad sekvens som kรถrs som kod. JenkinsEn fil som allokeras bredvid projektet omvandlar den sekvensen till en granskningsbar, versionsbaserad definition av leverans.
Vad รคr Jenkins Rรถrledning?
Jenkins Pipeline รคr en kombination av plugins som stรถder integration och implementering av kontinuerliga leveranspipelinerDet รคr en utรถkningsbar automatiseringsserver fรถr att skapa enkla och komplexa leveranspipelines som kod genom pipeline-DSL. En pipeline รคr en grupp hรคndelser som รคr sammanlรคnkade i en sekvens.
Vad รคr Continuous Delivery Pipelines? Hur det fungerar?
I en Jenkins I en pipeline har varje jobb eller hรคndelse nรฅgon form av beroende av minst en eller flera hรคndelser, som diagrammet nedan visar.

Bilden ovan representerar en kontinuerlig leveranspipeline i Jenkins, bestรฅende av tillstรฅnd som kallas build, deploy, test och release. Varje tillstรฅnd har sina egna hรคndelser, som kรถrs i sekvens.
En kontinuerlig leveranspipeline uttrycker den processen automatiskt och transporterar programvara frรฅn versionskontroll till utgรฅva genom en repeterbar sekvens av byggen, testning och utplaceringsstadier.
Vad รคr en JenkinsFil?
Jenkins pipelines kan definieras i en textfil som heter JenkinsFil. Den uttrycker pipeline som kod i ett domรคnspecifikt sprรฅk (DSL) och innehรฅller alla steg som behรถvs fรถr att kรถra pipelinen.
Fรถrdelarna med att anvรคnda JenkinsFilen รคr:
- One JenkinsFilen kan skapa pipelines fรถr varje branch och kรถra pull requests.
- Du kan granska din Jenkins kod pรฅ pipelinen
- Du kan granska din Jenkins rรถrledning
- Detta รคr den enda kรคllan fรถr din pipeline och kan modifieras av flera anvรคndare.
En pipeline kan definieras i Jenkins webbgrรคnssnitt eller i ett JenkinsFil som รคr dedikerad till kรคllkontroll. En minimal deklarativ fil har en fast form โ ett pipelineblock, en agent och etapper som innehรฅller ett steg per fas.
pipeline { agent any stages { stage('Build') { steps { echo 'Building' } } stage('Test') { steps { echo 'Testing' } } stage('Deploy') { steps { echo 'Deploying' } } } }
Sparar den i rotversionerna av pipelinen med koden.
Deklarativ kontra skriptad pipeline-syntax
Det finns tvรฅ typer av Jenkins pipeline-syntax som anvรคnds fรถr att definiera din JenkinsFil.
- deklarativ
- skript
deklarativ
Deklarativ pipeline-syntax รคr den enklare vรคgen. Den fรถljer en fรถrdefinierad hierarki och styr fortfarande varje aspekt av pipeline-kรถrningen pรฅ ett enkelt sรคtt.
skript
skript Jenkins rรถrledningen gรฅr pรฅ Jenkins kontrollenheten genom en lรคttviktig exekutor, med vรคldigt fรฅ resurser fรถr att รถversรคtta pipelinen till atomรคra kommandon. De tvรฅ รคr skrivna helt olika, sรฅ vรคlj en per JenkinsFil.
โ ๏ธ Obs: Jenkins nu ringer Master d styrenhet.
Varfรถr anvรคnda Jenkins Rรถrledning?
Jenkins รคr en รถppen kontinuerlig integrationsserver som automatiserar programvaruutvecklingsprocesserDu kan skapa flera automatiseringsjobb frรฅn dina anvรคndningsfall och kรถr dem som en enda pipeline.
Hรคr รคr anledningarna till varfรถr du bรถr anvรคnda Jenkins rรถrledning:
- Pipeline implementeras som kod, sรฅ flera anvรคndare kan redigera och kรถra processen.
- Pipelines รคr robusta: om servern startar om ovรคntat รฅterupptas pipelinen automatiskt.
- Du kan pausa en pipeline och hรฅlla den kvar tills en anvรคndare lรคmnar indata.
- Pipelines stรถder stora projekt: kรถr flera jobb och anvรคnd till och med pipelines i en loop.
Jenkins Pipeline Concepts
Fyra termer รฅterkommer i varje JenkinsFil:
| Termin | BESKRIVNING |
|---|---|
| Pipeline | En uppsรคttning instruktioner skrivna som kod som tรคcker hela byggprocessen fรถr kontinuerlig leverans. Med en pipeline kan du bygga, testa och leverera applikationen. |
| Nod | Maskinen pรฅ vilken Jenkins `runs` kallas fรถr en nod. Ett nodblock anvรคnds huvudsakligen i skriptad pipelinesyntax. |
| Etapp | Ett stegblock innehรฅller en serie steg. Bygg-, test- och distributionsprocesserna samlas alla i ett steg, vilket ocksรฅ รคr vad pipeline-vyn visualiserar. |
| Steg | En enskild uppgift som utfรถr en specifik process vid en definierad tidpunkt. En pipeline รคr en serie steg. |
Installera Build Pipeline Plugin i Jenkins
Plugin-programmet "Build Pipeline" skapar en pipeline-vy รถver inkommande och utgรฅende jobb och lรคgger till utlรถsare fรถr manuella ingripanden.
Installera det enligt fรถljande:
Steg 1) Instรคllningarna fรถr pluginet finns under hantera Jenkins > Hantera pluginprogram, visas nedan.
โ ๏ธ Versionsnotering: strรถm Jenkins utgรฅvor etikettera den hรคr skรคrmen hantera Jenkins โ Insticksprogram; flikarna beter sig som beskrivs hรคr.
Om du redan har installerat plugin-programmet visas det under fliken installerad.
Steg 2) Om plugin-programmet inte redan รคr installerat visas det under fliken Tillgรคnglig.
Med pluginet installerat:
Hur man skapar Jenkins Pipeline
Nรคr du har loggat in pรฅ din Jenkins instrumentbrรคda:
Steg 1) Klicka pรฅ knappen "+" till vรคnster om din Jenkins instrumentpanel fรถr att skapa en pipeline.
Steg 2) Fyll i den nya vydialogrutan:
- Ge pipeline-vyn ett namn. Vi ska kalla den "Guru99 Pipelineโ fรถr den hรคr demon.
- Vรคlj Bygg en pipeline-vy under alternativ
- Klicka pรฅ ok, som visas nedan.
Steg 3) Nรคsta sida frรฅgar efter mer konfigurationsinformation. Acceptera standardinstรคllningarna och se till att du vรคljer det fรถrsta jobbet under instรคllningarna.
Klicka pรฅ Verkstรคll och sedan OK.
Exempelpipelinevyn fรถr ditt objekt visas sedan:
Kรถr ett pipelinebygge
Steg 1) Kedja dina jobb fรถrst: รถppna ditt fรถrsta jobb och klicka pรฅ konfigurera.
Steg 2) Markera nu alternativet Bygg efter att andra projekt har byggts under Byggutlรถsare.
En kedja fรถr alla dina jobb finns nu.
Steg 3) Installera plugin-programmet Build Pipeline om du inte redan har det installerat.
Steg 4) Pรฅ Jenkins instrumentpanelen, skapa en vy med knappen "+", vรคlj alternativet Bygg pipelinevy och klicka pรฅ OK.
Steg 5) Under Konfiguration av pipelinevy letar du upp Pipelineflรถde.
Under Pipelineflรถde vรคljer du det fรถrsta jobbet som ska kรถras โ jobbet som รคr kopplat till de andra i steg 1 och 2.
Guru99 Projekt 1 รคr valt hรคr som det initiala jobbet, sรฅ de lรคnkade jobben kรถrs ett i taget.
Medan pipelinen kรถrs indikerar rรถda och grรถna symboler dess tillstรฅnd: rรถtt รคr misslyckande, grรถnt รคr framgรฅng.
I det hรคr exemplet รคr knappen grรถn, sรฅ pipelinen lyckades.
Springa Jenkins rรถrledning
Klicka pรฅ Kรถr fรถr att kรถra Jenkins pipeline. Det kommer att se ut ungefรคr sรฅ hรคr:
Exemplet ovan bygger ett enkelt "helloworld.java"-program. Verkliga projekt kedjar betydligt mer komplexa pipelines, vilket den mer fullstรคndiga vyn nedan visar.
โ ๏ธ Versionsnotering: Vypluginet Build Pipeline รคr det รคldre sรคttet att visualisera kedjade freestyle-jobb; nuvarande praxis definierar samma flรถde i en JenkinsFil. Blรฅ Ocean รคr inte lรคngre fรถrbรคttrad.
Bรคsta praxis med anvรคndning Jenkins Pipeline
Sju vanor hรฅller en pipeline underhรฅllbar:
- Anvรคnd det รคkta Jenkins Pipeline
- Utveckla din pipeline som kod
- Allt icke-installationsarbete i din pipeline bรถr ske inom ett stegblock.
- Allt materialarbete i en rรถrledning mรฅste utfรถras inom ett nodblock.
- Anvรคnd inte indata inom ett nodblock.
- Stรคll aldrig in miljรถvariabler med env global variabel
- Slรฅ in dina inmatningar i en timeout













