Jenkins Pipeline as Code med Jenkinsfile
Definiera bygg-, test- och distributionssteg deklarativt i en Jenkinsfile som finns i ert repo, så att själva pipelinen versionshanteras tillsammans med applikationen.
Jenkins Pipeline as Code med Jenkinsfile är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Pipeline som kod
I stället för att konfigurera jobb manuellt i Jenkins-gränssnittet beskriver ni hela pipelinen i en Jenkinsfile som lagras i ert repository. Pipelinen blir kod: granskad, versionshanterad och portabel.
Deklarativt eller scriptat
Jenkins erbjuder två syntaxer. Deklarativa pipelines har en strukturerad och nybörjarvänlig form; scriptade pipelines är fullständig Groovy. Vi fokuserar på deklarativa pipelines.
Pipeline-blocket
Varje deklarativ Jenkinsfile börjar med ett pipeline-block som innehåller en agent (där den körs) och stages.
pipeline {
agent any
stages {
stage('Build') {
steps { echo 'Building...' }
}
}
}Definiera stages
Varje stage grupperar relaterade steps. Stages visas som kolumner i Jenkins-gränssnittet och ger en tydlig visuell bild av pipelinens förlopp.
stages {
stage('Build') { steps { sh 'make build' } }
stage('Test') { steps { sh 'make test' } }
}Kör shell-steg
Steget sh kör ett shell-kommando på agenten. Använd det för att kompilera kod, köra tester eller bygga en Docker-image.
steps {
sh 'docker build -t myapp:${BUILD_NUMBER} .'
}Miljövariabler
Ett environment-block definierar variabler för alla steg. Jenkins exponerar också inbyggda variabler som BUILD_NUMBER och GIT_COMMIT.
environment {
REGISTRY = 'registry.example.com'
IMAGE = 'myapp'
}Bindning av autentiseringsuppgifter
Hårdkoda aldrig hemligheter. Lagra dem i Jenkins-autentiseringsuppgifter och hämta in dem med hjälpfunktionen credentials(), så maskeras de i loggarna.
environment {
REG_PASS = credentials('registry-password')
}Efteråtgärder
Ett post-block körs när stages har avslutats och kan välja gren utifrån resultatet. Det passar perfekt för aviseringar och rensning.
post {
success { echo 'Pipeline succeeded' }
failure { echo 'Pipeline failed' }
always { sh 'docker image prune -f' }
}Parallella stages
Öka hastigheten genom att köra oberoende arbete i parallel – till exempel enhets- och integrationstester samtidigt.
stage('Tests') {
parallel {
stage('Unit') { steps { sh 'make unit' } }
stage('Integration') { steps { sh 'make int' } }
}
}Villkorliga stages
Direktivet when kör en stage endast om ett villkor är uppfyllt – till exempel att distribuera endast från huvudgrenen.
stage('Deploy') {
when { branch 'main' }
steps { sh './deploy.sh' }
}Flergrenade pipelines
Ange ett repository för Jenkins så upptäcker det varje branch med en Jenkinsfile och skapar automatiskt en pipeline per branch. Feature-brancher får CI utan extra konfiguration.
Snabb kontroll
Var lagras definitionen av en deklarativ pipeline?
Sammanfattning
Ni har lärt er att definiera pipelines som kod:
pipeline { agent; stages }är den deklarativa grundstrukturensh-steg kör kommandon;environmentochcredentials()hanterar konfigurationpost,parallelochwhenger ytterligare funktionalitet- Flergrenade pipelines ger automatiskt CI till varje branch
Jenkinsfile lagras tillsammans med koden och utvecklas med den.
Lär dig DevOps-bootcamp med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 142
- Lektioner
- 568
Vanliga frågor
Är lektionen ”Jenkins Pipeline as Code med Jenkinsfile” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Jenkins Pipeline as Code med Jenkinsfile”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Vad lär jag mig i ”Jenkins Pipeline as Code med Jenkinsfile”?
Definiera bygg-, test- och distributionssteg deklarativt i en Jenkinsfile som finns i ert repo, så att själva pipelinen versionshanteras tillsammans med applikationen. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?
Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Jenkins Pipeline as Code med Jenkinsfile”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?
Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Introduktion till Jenkins
- Bygg Docker-images med Jenkins
- Automatiserad driftsättning med Jenkins
- Jenkins Pipeline as Code med Jenkinsfile