Jenkins Pipeline as Code med Jenkinsfile
Definér build-, test- og deploy-trin deklarativt i en Jenkinsfile, der ligger i dit repository, så selve pipelinen versionsstyres sammen med applikationen
Jenkins Pipeline as Code med Jenkinsfile er en gratis Grundlæggende Docker og DevOps-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Grundlæggende Docker og DevOps, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Grundlæggende Docker og DevOps-kurset indeholder 4 lektioner i alt.
Pipeline som kode
I stedet for at konfigurere jobs manuelt i Jenkins-brugerfladen beskriver du hele pipelinen i en Jenkinsfile, der er gemt i dit repository. Pipelinen bliver til kode: Den kan gennemgås, versionsstyres og flyttes.
Deklarativ kontra scriptbaseret
Jenkins tilbyder to syntakser. Deklarative pipelines er strukturerede og begyndervenlige; scriptbaserede pipelines er fuld Groovy. Vi fokuserer på den deklarative variant.
pipeline-blokken
Alle deklarative Jenkinsfile-filer starter med en pipeline-blok, der indeholder en agent (hvor den kører) og stages.
pipeline {
agent any
stages {
stage('Build') {
steps { echo 'Building...' }
}
}
}Definition af faser
Hver stage grupperer relaterede steps. Faser vises som kolonner i Jenkins-brugerfladen og giver et tydeligt visuelt overblik over pipelineforløbet.
stages {
stage('Build') { steps { sh 'make build' } }
stage('Test') { steps { sh 'make test' } }
}Kørsel af shell-trin
Trinnet sh kører en shell-kommando på agenten. Brug det til at kompilere kode, køre test eller bygge et Docker-image.
steps {
sh 'docker build -t myapp:${BUILD_NUMBER} .'
}Miljøvariabler
En environment-blok definerer variabler for alle trin. Jenkins stiller også indbyggede variabler som BUILD_NUMBER og GIT_COMMIT til rådighed.
environment {
REGISTRY = 'registry.example.com'
IMAGE = 'myapp'
}Tilknytning af legitimationsoplysninger
Hardkod aldrig hemmeligheder. Gem dem i Jenkins-legitimationsoplysninger, og hent dem med hjælpen credentials(), så de maskeres i logfilerne.
environment {
REG_PASS = credentials('registry-password')
}Efterhandlinger
En post-blok kører, når faserne er afsluttet, og forgrener efter resultatet. Den er perfekt til meddelelser og oprydning.
post {
success { echo 'Pipeline succeeded' }
failure { echo 'Pipeline failed' }
always { sh 'docker image prune -f' }
}Parallelle faser
Gør det hurtigere ved at køre uafhængigt arbejde i parallel – for eksempel enheds- og integrationstest samtidig.
stage('Tests') {
parallel {
stage('Unit') { steps { sh 'make unit' } }
stage('Integration') { steps { sh 'make int' } }
}
}Betingede faser
Direktivet when kører kun en fase, hvis en betingelse er opfyldt – for eksempel kun at implementere fra hovedgrenen.
stage('Deploy') {
when { branch 'main' }
steps { sh './deploy.sh' }
}Pipelines med flere grene
Forbind Jenkins med et repository, så finder det alle grene med en Jenkinsfile og automatisk opretter en pipeline pr. gren. Funktionsgrene får CI uden ekstra arbejde.
Hurtigt tjek
Hvor findes definitionen af en deklarativ pipeline?
Opsummering
Du har lært at definere pipelines som kode:
pipeline { agent; stages }er det deklarative skeletsh-trin kører kommandoer;environmentogcredentials()håndterer konfigurationpost,parallelogwhentilføjer ekstra funktionalitet- Pipelines med flere grene giver automatisk CI til hver gren
Jenkinsfile-filen ligger sammen med din kode og udvikler sig sammen med den.
Lær Grundlæggende Docker og DevOps med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Jenkins Pipeline as Code med Jenkinsfile” gratis?
Ja — alle 3 lektioner i læringssporet Grundlæggende Docker og DevOps, inklusive “Jenkins Pipeline as Code med Jenkinsfile”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Grundlæggende Docker og DevOps-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Jenkins Pipeline as Code med Jenkinsfile”?
Definér build-, test- og deploy-trin deklarativt i en Jenkinsfile, der ligger i dit repository, så selve pipelinen versionsstyres sammen med applikationen Du øver dig i Grundlæggende Docker og DevOps med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Grundlæggende Docker og DevOps?
Der kræves ingen tidligere erfaring. Grundlæggende Docker og DevOps på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Jenkins Pipeline as Code med Jenkinsfile”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Grundlæggende Docker og DevOps-lektion?
Ja. Alle Grundlæggende Docker og DevOps-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Introduktion til Jenkins
- Bygning af Docker-images med Jenkins
- Automatiseret deployment med Jenkins
- Jenkins Pipeline as Code med Jenkinsfile