Jenkins Pipeline as Code med Jenkinsfile
Definer bygg-, test- og utrullingsfaser deklarativt i en Jenkinsfile som ligger i repositoriet, slik at selve pipelinen versjoneres sammen med applikasjonen.
Jenkins Pipeline as Code med Jenkinsfile er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.
Pipeline som kode
I stedet for å konfigurere jobber manuelt i Jenkins-grensesnittet beskriver De hele pipelinen i en Jenkinsfile som er lagret i repositoriet. Pipelinen blir til kode: gjennomgått, versjonert og portabel.
Deklarativt vs. scriptet
Jenkins tilbyr to syntakser. Deklarative pipelines er strukturerte og nybegynnervennlige, mens scriptede pipelines er ren Groovy. Her fokuserer vi på deklarative pipelines.
pipeline-blokken
Alle deklarative Jenkinsfiler starter med en pipeline-blokk som inneholder en agent (der den kjører) og stages.
pipeline {
agent any
stages {
stage('Build') {
steps { echo 'Building...' }
}
}
}Definere stages
Hver stage grupperer relaterte steps. Stages vises som kolonner i Jenkins-grensesnittet og gir en tydelig visning av fremdriften i pipelinen.
stages {
stage('Build') { steps { sh 'make build' } }
stage('Test') { steps { sh 'make test' } }
}Kjøre shell-trinn
Trinnet sh kjører en shell-kommando på agenten. Bruk det til å kompilere kode, kjøre tester eller bygge et Docker-image.
steps {
sh 'docker build -t myapp:${BUILD_NUMBER} .'
}Miljøvariabler
En environment-blokk definerer variabler for alle trinn. Jenkins eksponerer også innebygde variabler som BUILD_NUMBER og GIT_COMMIT.
environment {
REGISTRY = 'registry.example.com'
IMAGE = 'myapp'
}Binding av credentials
Hardkod aldri hemmeligheter. Lagre dem i Jenkins-credentials og hent dem inn med hjelpefunksjonen credentials(), slik at de maskeres i logger.
environment {
REG_PASS = credentials('registry-password')
}Post-handlinger
En post-blokk kjører etter at trinnene er fullført og velger gren basert på resultatet. Den egner seg perfekt til varslinger og opprydding.
post {
success { echo 'Pipeline succeeded' }
failure { echo 'Pipeline failed' }
always { sh 'docker image prune -f' }
}Parallelle stages
Arbeidet kan gjøres raskere ved å kjøre uavhengige oppgaver i parallel – for eksempel enhets- og integrasjonstester samtidig.
stage('Tests') {
parallel {
stage('Unit') { steps { sh 'make unit' } }
stage('Integration') { steps { sh 'make int' } }
}
}Betingede stages
when-direktivet kjører en stage bare hvis en betingelse er oppfylt – for eksempel at distribusjon bare skjer fra hovedgrenen.
stage('Deploy') {
when { branch 'main' }
steps { sh './deploy.sh' }
}Multibranch-pipelines
Koble Jenkins til et repo, så oppdager det alle grener med en Jenkinsfile og oppretter automatisk en pipeline for hver gren. Feature branches får CI uten ekstra arbeid.
Hurtigsjekk
Hvor ligger definisjonen av en deklarativ pipeline?
Oppsummering
De har lært å definere pipelines som kode:
pipeline { agent; stages }er det deklarative skjelettetsh-trinn kjører kommandoer, mensenvironmentogcredentials()håndterer konfigurasjonpost,parallelogwhengir ekstra funksjonalitet- Multibranch-pipelines gir automatisk CI til alle grener
Jenkinsfile ligger sammen med koden og utvikler seg med den.
Lær deg DevOps-bootcamp med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 142
- Leksjoner
- 568
Ofte stilte spørsmål
Er leksjonen «Jenkins Pipeline as Code med Jenkinsfile» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Jenkins Pipeline as Code med Jenkinsfile», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.
Hva lærer jeg i «Jenkins Pipeline as Code med Jenkinsfile»?
Definer bygg-, test- og utrullingsfaser deklarativt i en Jenkinsfile som ligger i repositoriet, slik at selve pipelinen versjoneres sammen med applikasjonen. Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med DevOps-bootcamp?
Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Jenkins Pipeline as Code med Jenkinsfile»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?
Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Introduksjon til Jenkins
- Bygge Docker-images med Jenkins
- Automatisk distribusjon med Jenkins
- Jenkins Pipeline as Code med Jenkinsfile