Jenkins Pipeline-handleiding: Hoe maak je er een? JenkinsBestand (voorbeeld)
⚡ Slimme samenvatting
Jenkins Pipeline-koppelingen voor het bouwen, testen en implementeren van taken vormen één geordende reeks die als code wordt uitgevoerd. JenkinsHet bestand dat naast het project wordt opgeslagen, zet die reeks om in een controleerbare, versiebeheerde definitie van de oplevering.

Wat is Jenkins Pijpleiding?
Jenkins Pipeline is een combinatie van plugins die de integratie en implementatie ondersteunt. continue leveringspijpleidingenHet is een uitbreidbare automatiseringsserver voor het creëren van eenvoudige en complexe leveringspipelines als code via de pipeline DSL. Een pipeline is een groep gebeurtenissen die in een bepaalde volgorde met elkaar verbonden zijn.
Wat zijn continue leveringspijplijnen? Hoe het werkt?
In een Jenkins In een pipeline is elke taak of gebeurtenis afhankelijk van ten minste één of meer andere gebeurtenissen, zoals het onderstaande diagram laat zien.

De afbeelding hierboven toont een continue-leveringspijpleiding in Jenkins, opgebouwd uit statussen genaamd build, deploy, test en release. Elke status heeft zijn eigen gebeurtenissen, die in een bepaalde volgorde worden uitgevoerd.
Een continue leveringspipeline brengt dat proces automatisch tot uitdrukking, waarbij software van versiebeheer naar release wordt gebracht via één herhaalbare reeks builds. het testen van en implementatiefasen.
Wat is een JenkinsBestand?
Jenkins Pijplijnen kunnen worden gedefinieerd in een tekstbestand met de naam JenkinsEen bestand. Dit bestand drukt de pipeline uit als code in een domeinspecifieke taal (DSL) en bevat elke stap die nodig is om de pipeline uit te voeren.
De voordelen van het gebruik JenkinsDe bestanden zijn:
- One JenkinsHet bestand kan pipelines creëren voor elke branch en pull requests uitvoeren.
- U kunt uw beoordeling bekijken Jenkins code in de pipeline
- U kunt uw Jenkins pijpleiding
- Dit is de unieke bron voor uw pijplijn en kan door meerdere gebruikers worden gewijzigd.
Een pijplijn kan worden gedefinieerd in de Jenkins web-UI of in een JenkinsHet bestand is opgenomen in versiebeheer. Een minimaal declaratief bestand heeft een vaste structuur: een pipelineblok, een agent en stages met één stage per fase.
pipeline { agent any stages { stage('Build') { steps { echo 'Building' } } stage('Test') { steps { echo 'Testing' } } stage('Deploy') { steps { echo 'Deploying' } } } }
Door het bestand in de hoofdmap van de repository op te slaan, wordt de pipeline samen met de code van een versie voorzien.
Declaratieve versus gescripte pijplijnsyntaxis
Er zijn twee types Jenkins pijplijnsyntaxis die wordt gebruikt om uw JenkinsHet dossier.
- Declaratief
- scripted
Declaratief
De declaratieve pijplijnsyntaxis is de eenvoudigere route. Deze volgt een vooraf gedefinieerde hiërarchie en beheert toch elk aspect van de pijplijnuitvoering op een overzichtelijke manier.
scripted
scripted Jenkins pijpleiding draait op de Jenkins De controller wordt via een lichtgewicht executor uitgevoerd, die zeer weinig resources gebruikt om de pipeline om te zetten in atomaire commando's. De twee zijn behoorlijk verschillend geschreven, dus kies er één per situatie. JenkinsHet dossier.
⚠️ Let op: Jenkins noemt nu de meester the controleur.
Waarom gebruiken Jenkins Pijpleiding?
Jenkins is een open continue integratieserver dat automatiseert software ontwikkelingsprocessenJe kunt meerdere maken. automatiseringsbanen selecteer uw use cases en voer ze uit als één pipeline.
Hieronder volgen de redenen waarom u gebruik zou moeten maken van Jenkins pijpleiding:
- De pipeline is als code geïmplementeerd, waardoor meerdere gebruikers het proces kunnen bewerken en uitvoeren.
- De pipelines zijn robuust: als de server onverwacht opnieuw opstart, wordt de pipeline automatisch hervat.
- Je kunt een pipeline pauzeren en vasthouden totdat een gebruiker invoer geeft.
- Pipelines ondersteunen grote projecten: voer meerdere taken tegelijk uit en gebruik pipelines zelfs in een lus.
Jenkins Pijpleiding Concepts
Vier termen komen steeds terug in elke JenkinsFile:
| Termijn | Beschrijving |
|---|---|
| Pijpleiding | Een set instructies, geschreven in code, die het volledige bouwproces voor continue levering omvat. Met een pipeline kun je de applicatie bouwen, testen en leveren. |
| Knooppunt | De machine waarop Jenkins Een 'run' wordt een knooppunt genoemd. Een knooppuntblok wordt voornamelijk gebruikt in scriptgestuurde pipeline-syntaxis. |
| Stadium | Een stageblok bevat een reeks stappen. De bouw-, test- en implementatieprocessen komen elk samen in een stage, en dat is ook wat de pipeline-weergave visualiseert. |
| Stap voor | Een enkele taak die een specifiek proces op een bepaald tijdstip uitvoert. Een pipeline is een reeks stappen. |
Installeer de Build Pipeline-plug-in in Jenkins
De build pipeline-plugin creëert een pipeline-weergave van inkomende en uitgaande taken en voegt triggers voor handmatige interventie toe.
Installeer het als volgt:
Stap 1) De instellingen voor de plugin zijn te vinden onder Beheren Jenkins > Plug-ins beheren, hieronder weergegeven.
⚠️ Versie-opmerking: actueel Jenkins releases label dit scherm Beheren Jenkins → PluginsDe tabbladen gedragen zich zoals hier beschreven.
Als u de plug-in al hebt geïnstalleerd, wordt deze weergegeven onder het tabblad Geïnstalleerd.
Stap 2) Als de plugin nog niet is geïnstalleerd, wordt deze weergegeven onder het tabblad 'Beschikbaar'.
Nadat de plugin is geïnstalleerd:
Hoe maak je Jenkins Pijpleiding
Zodra u bent ingelogd op uw Jenkins dashboards:
Stap 1) Klik op de "+" knop aan de linkerkant van uw scherm. Jenkins Dashboard om een pipeline te creëren.
Stap 2) Vul het dialoogvenster voor de nieuwe weergave in:
- Geef de pijplijnweergave een naam. We noemen hem "Guru99 Pipeline” voor deze demo.
- Selecteer 'Een pijplijnweergave bouwen' onder de opties.
- Klik op OK, zoals hieronder weergegeven.
Stap 3) Op de volgende pagina wordt om meer configuratiegegevens gevraagd. Accepteer de standaardinstellingen en zorg ervoor dat u de eerste taak onder de instellingen selecteert.
Klik op Toepassen en vervolgens op OK.
Vervolgens verschijnt de voorbeeldweergave van de pijplijn voor uw item:
Een pijplijnbuild uitvoeren
Stap 1) Koppel eerst uw taken aan elkaar: open uw eerste taak en klik op configureren.
Stap 2) Schakel nu onder 'Build Triggers' de optie 'Build after other projects are built' in.
Er bestaat nu een keten voor al uw banen.
Stap 3) Installeer de Build Pipeline view-plugin als je deze nog niet hebt geïnstalleerd.
Stap 4) Op de Jenkins Ga naar het dashboard, maak een weergave aan met de "+" knop, selecteer de optie 'Build Pipeline View' en klik op OK.
Stap 5) Zoek in de configuratie van de pijplijnweergave naar Pijplijnstroom.
Selecteer onder Pipeline flow de eerste taak die moet worden uitgevoerd — de taak die is gekoppeld aan de andere taken in stap 1 en 2.
GuruHier wordt 99 Project 1 geselecteerd als de eerste taak, waardoor de gekoppelde taken één voor één worden uitgevoerd.
Tijdens de werking van de pijplijn geven rode en groene symbolen de status ervan weer: rood betekent een storing, groen betekent succes.
In dit voorbeeld is de knop groen, wat betekent dat de pipeline succesvol is voltooid.
Hardlopen Jenkins pijpleiding
Klik op Uitvoeren om het programma te starten. Jenkins pijplijn. Het zal er ongeveer zo uitzien:
Het bovenstaande voorbeeld bouwt een eenvoudig "helloworld.java"-programma. Echte projecten maken gebruik van veel complexere pipelines, zoals het onderstaande uitgebreidere overzicht laat zien.
⚠️ Versie-opmerking: De Build Pipeline-weergaveplug-in is de verouderde manier om gekoppelde freestyle-taken te visualiseren; de huidige werkwijze definieert dezelfde workflow in een JenkinsBestand. Blauw Ocean is niet langer verbeterd.
Beste praktijken met behulp van Jenkins Pijpleiding
Zeven gewoonten zorgen ervoor dat een pijplijn beheersbaar blijft:
- Gebruik de originele Jenkins Pijpleiding
- Ontwikkel uw pijplijn als code
- Alle niet-installatiewerkzaamheden in uw pijplijn moeten binnen een faseblok plaatsvinden.
- Alle materiële werkzaamheden in een pijpleiding moeten binnen een knooppuntblok worden uitgevoerd.
- Gebruik geen invoer binnen een knooppuntblok.
- Stel nooit omgevingsvariabelen in met de globale variabele env
- Verpak uw invoer in een time-out













