Jenkins Εκμάθηση αγωγού: Πώς να δημιουργήσετε JenkinsΑρχείο (Παράδειγμα)
⚡ Έξυπνη Σύνοψη
Jenkins Οι σύνδεσμοι αγωγού δημιουργούν, δοκιμάζουν και αναπτύσσουν εργασίες σε μία διατεταγμένη ακολουθία που εκτελείται ως κώδικας. A JenkinsΤο αρχείο που έχει υποβληθεί δίπλα στο έργο μετατρέπει αυτήν την ακολουθία σε έναν αναθεωρήσιμο, εκδοχικό ορισμό παράδοσης.

Τι είναι Jenkins Γραμμή σωλήνων;
Jenkins Το Pipeline είναι ένας συνδυασμός plugin που υποστηρίζει την ενσωμάτωση και την υλοποίηση αγωγοί συνεχούς παράδοσηςΕίναι ένας επεκτάσιμος διακομιστής αυτοματισμού για τη δημιουργία απλών και σύνθετων αγωγών παράδοσης ως κώδικα μέσω του αγωγού DSL. Ένας αγωγός είναι μια ομάδα συμβάντων που συνδέονται μεταξύ τους σε μια ακολουθία.
Τι είναι οι αγωγοί συνεχούς παράδοσης; Πως δουλεύει?
Σε Jenkins αγωγού, κάθε εργασία ή συμβάν έχει κάποιο είδος εξάρτησης από τουλάχιστον ένα ή περισσότερα συμβάντα, όπως δείχνει το παρακάτω διάγραμμα.

Η παραπάνω εικόνα απεικονίζει μια συνεχή ροή παράδοσης Jenkins, που αποτελείται από καταστάσεις που ονομάζονται build (κατασκευή), deploy (ανάπτυξη), test (δοκιμή) και release (απελευθέρωση). Κάθε κατάσταση έχει τα δικά της συμβάντα, τα οποία εκτελούνται διαδοχικά.
Ένας συνεχής αγωγός παράδοσης εκφράζει αυτή τη διαδικασία αυτόματα, μεταφέροντας λογισμικό από τον έλεγχο έκδοσης στην έκδοση μέσω μιας επαναλαμβανόμενης ακολουθίας builds, δοκιμών και στάδια ανάπτυξης.
Τι είναι ένα JenkinsΑρχείο?
Jenkins Οι αγωγοί μπορούν να οριστούν σε ένα αρχείο κειμένου που ονομάζεται JenkinsΑρχείο. Εκφράζει τον αγωγό ως κώδικα σε μια γλώσσα συγκεκριμένη για τον τομέα (DSL) και περιέχει κάθε βήμα που απαιτείται για την εκτέλεση του αγωγού.
Τα οφέλη της χρήσης JenkinsΤα αρχεία είναι:
- Ένας JenkinsΤο File μπορεί να δημιουργήσει αγωγούς για κάθε κλάδο και να εκτελέσει αιτήματα έλξης.
- Μπορείτε να ελέγξετε το δικό σας Jenkins κώδικας στον αγωγό
- Μπορείτε να ελέγξετε το δικό σας Jenkins αγωγού
- Αυτή είναι η μοναδική πηγή για τη διοχέτευση σας και μπορεί να τροποποιηθεί από πολλούς χρήστες.
Ένας αγωγός μπορεί να οριστεί στο Jenkins διεπαφή χρήστη ιστού ή σε ένα JenkinsΑρχείο που έχει δεσμευτεί για έλεγχο πηγαίου κώδικα. Ένα ελάχιστο δηλωτικό αρχείο έχει ένα σταθερό σχήμα — ένα μπλοκ αγωγού, έναν πράκτορα και στάδια που περιέχουν ένα στάδιο ανά φάση.
pipeline { agent any stages { stage('Build') { steps { echo 'Building' } } stage('Test') { steps { echo 'Testing' } } stage('Deploy') { steps { echo 'Deploying' } } } }
Αποθήκευση στις ριζικές εκδόσεις του αποθετηρίου του αγωγού με τον κώδικα.
Δηλωτική έναντι Scripted σύνταξη αγωγού
Υπάρχουν δύο τύποι Jenkins σύνταξη αγωγού που χρησιμοποιείται για τον ορισμό του JenkinsΑρχείο.
- Δηλωτικός
- Σκριπίστηκε
Δηλωτικός
Η δηλωτική σύνταξη αγωγού είναι η ευκολότερη οδός. Ακολουθεί μια προκαθορισμένη ιεραρχία και εξακολουθεί να ελέγχει κάθε πτυχή της εκτέλεσης του αγωγού με απλό τρόπο.
Σκριπίστηκε
Σκριπίστηκε Jenkins αγωγός διατρέχει Jenkins ελεγκτή μέσω ενός ελαφρού εκτελεστή, χρησιμοποιώντας πολύ λίγους πόρους για να μεταφράσει τον αγωγό σε ατομικές εντολές. Οι δύο γράφονται αρκετά διαφορετικά, οπότε επιλέξτε έναν ανά JenkinsΑρχείο.
⚠️ Σημείωση: Jenkins τώρα καλεί το κύριος ο ελεγκτής.
Γιατί να χρησιμοποιήσετε Jenkins Γραμμή σωλήνων;
Jenkins είναι ανοιχτό διακομιστή συνεχούς ενοποίησης που αυτοματοποιεί διαδικασίες ανάπτυξης λογισμικούΜπορείτε να δημιουργήσετε πολλά θέσεις εργασίας αυτοματισμού από τις περιπτώσεις χρήσης σας και εκτελέστε τις ως μία διοχέτευση.
Εδώ είναι οι λόγοι για τους οποίους πρέπει να χρησιμοποιήσετε Jenkins αγωγός:
- Το Pipeline υλοποιείται ως κώδικας, επομένως πολλοί χρήστες μπορούν να επεξεργαστούν και να εκτελέσουν τη διαδικασία.
- Οι αγωγοί είναι ισχυροί: εάν ο διακομιστής επανεκκινηθεί απροσδόκητα, ο αγωγός συνεχίζεται αυτόματα.
- Μπορείτε να θέσετε σε παύση μια διοχέτευση και να την κρατήσετε μέχρι να δώσει ένας χρήστης δεδομένα εισόδου.
- Οι αγωγοί υποστηρίζουν μεγάλα έργα: εκτελούν πολλαπλές εργασίες, ακόμη και χρησιμοποιούν αγωγούς σε έναν βρόχο.
Jenkins Pipeline Concepts
Τέσσερις όροι επαναλαμβάνονται σε κάθε JenkinsΑρχείο:
| Όρος | Περιγραφή |
|---|---|
| Pipeline | Ένα σύνολο οδηγιών γραμμένων ως κώδικα που καλύπτει ολόκληρη τη διαδικασία δημιουργίας για συνεχή παράδοση. Με μια διοχέτευση μπορείτε να δημιουργήσετε, να δοκιμάσετε και να παραδώσετε την εφαρμογή. |
| Κόμβος | Η μηχανή στην οποία Jenkins Το μπλοκ κόμβου (node block) χρησιμοποιείται κυρίως στη σύνταξη δέσμης ενεργειών (scripted pipeline). |
| Στάδιο | Ένα μπλοκ σταδίου περιέχει μια σειρά βημάτων. Οι διαδικασίες δημιουργίας, δοκιμής και ανάπτυξης συνδυάζονται σε ένα στάδιο, το οποίο είναι επίσης αυτό που απεικονίζεται στην προβολή αγωγού. |
| Βήμα | Μια μεμονωμένη εργασία που εκτελεί μια συγκεκριμένη διεργασία σε καθορισμένο χρόνο. Μια διοχέτευση είναι μια σειρά βημάτων. |
Εγκατάσταση πρόσθετου Build Pipeline στο Jenkins
Το πρόσθετο δημιουργίας αγωγού δημιουργεί μια προβολή αγωγού εισερχόμενων και εξερχόμενων εργασιών και προσθέτει εναύσματα χειροκίνητης παρέμβασης.
Εγκαταστήστε το ως εξής:
Βήμα 1) Οι ρυθμίσεις για το πρόσθετο (plugin) βρίσκονται στην ενότητα Διαχειριστείτε Jenkins > Διαχείριση προσθηκών, Φαίνεται παρακάτω.
⚠️ Σημείωση έκδοσης: ρεύμα Jenkins κυκλοφορίες ετικέτα αυτής της οθόνης Διαχειριστείτε Jenkins → Πρόσθετα; οι καρτέλες συμπεριφέρονται όπως περιγράφεται εδώ.
Εάν έχετε ήδη εγκαταστήσει το πρόσθετο, εμφανίζεται στην καρτέλα εγκατεστημένη.
Βήμα 2) Εάν το πρόσθετο δεν είναι ήδη εγκατεστημένο, εμφανίζεται στην καρτέλα Διαθέσιμο.
Με εγκατεστημένο το πρόσθετο:
Πώς να δημιουργήσετε Jenkins Pipeline
Μόλις συνδεθείτε στον λογαριασμό σας Jenkins ταμπλό:
Βήμα 1) Κάντε κλικ στο κουμπί «+» στην αριστερή πλευρά του Jenkins πίνακας ελέγχου για τη δημιουργία ενός αγωγού.
Βήμα 2) Συμπληρώστε το παράθυρο διαλόγου νέας προβολής:
- Δώστε ένα όνομα στην προβολή του αγωγού. Θα την ονομάσουμε «Guru99 Pipeline” για αυτήν την επίδειξη.
- Επιλέξτε την προβολή Δημιουργία αγωγού στις επιλογές
- Κάντε κλικ στο ok, όπως φαίνεται παρακάτω.
Βήμα 3) Η επόμενη σελίδα ζητά περισσότερες λεπτομέρειες διαμόρφωσης. Αποδεχτείτε τις προεπιλεγμένες ρυθμίσεις και βεβαιωθείτε ότι έχετε επιλέξει την πρώτη εργασία στις ρυθμίσεις.
Κάντε κλικ στην επιλογή Εφαρμογή και, στη συνέχεια, στο κουμπί OK.
Στη συνέχεια, εμφανίζεται η ενδεικτική προβολή αγωγού του αντικειμένου σας:
Εκτέλεση κατασκευής αγωγού
Βήμα 1) Αλυσιδώστε πρώτα τις εργασίες σας: ανοίξτε την πρώτη σας εργασία και κάντε κλικ στην επιλογή Ρύθμιση παραμέτρων.
Βήμα 2) Τώρα, στην ενότητα Δημιουργία εναυσμάτων, επιλέξτε την επιλογή Δημιουργία μετά την κατασκευή άλλων έργων.
Υπάρχει πλέον μια αλυσίδα για όλες τις δουλειές σας.
Βήμα 3) Εγκαταστήστε το πρόσθετο προβολής Build Pipeline, εάν δεν το έχετε ήδη εγκαταστήσει.
Βήμα 4) Στις Jenkins στον πίνακα ελέγχου, δημιουργήστε μια προβολή με το κουμπί "+", επιλέξτε την επιλογή Δημιουργία προβολής αγωγού και κάντε κλικ στο OK.
Βήμα 5) Στην ενότητα Ρύθμιση παραμέτρων προβολής αγωγού, εντοπίστε τη Ροή αγωγού.
Στην ενότητα Ροή αγωγού, επιλέξτε την αρχική εργασία που θα εκτελεστεί — την εργασία που είναι συνδεδεμένη με τις άλλες στα Βήματα 1 και 2.
Guru99 Το Έργο 1 επιλέγεται εδώ ως η αρχική εργασία, επομένως οι αλυσιδωτές εργασίες εκτελούνται μία προς μία.
Ενώ ο αγωγός λειτουργεί, τα κόκκινα και πράσινα σύμβολα αναφέρουν την κατάστασή του: το κόκκινο είναι η αποτυχία, το πράσινο η επιτυχία.
Σε αυτό το παράδειγμα, το κουμπί είναι πράσινο, επομένως η διοχέτευση ολοκληρώθηκε με επιτυχία.
Τρέξιμο Jenkins αγωγού
Κάντε κλικ στην επιλογή Εκτέλεση για να εκτελέσετε το Jenkins αγωγός. Θα μοιάζει κάπως έτσι:
Το παραπάνω παράδειγμα δημιουργεί ένα απλό πρόγραμμα "helloworld.java". Πραγματικά έργα διασυνδέουν πολύ πιο σύνθετες διοχετεύσεις, όπως φαίνεται στην πληρέστερη εικόνα παρακάτω.
⚠️ Σημείωση έκδοσης: Το πρόσθετο προβολής Build Pipeline είναι ο παλαιότερος τρόπος για την απεικόνιση αλυσιδωτών εργασιών freestyle. Η τρέχουσα πρακτική ορίζει την ίδια ροή σε ένα JenkinsΑρχείο. Μπλε Ocean δεν ενισχύεται πλέον.
καλυτερα Ασκεί τη χρήση Jenkins Pipeline
Επτά συνήθειες διατηρούν μια αγωγό συντηρήσιμη:
- Χρησιμοποιήστε το γνήσιο Jenkins Pipeline
- Αναπτύξτε τον αγωγό σας ως κώδικα
- Οποιαδήποτε εργασία μη εγκατάστασης στη διοχέτευσή σας θα πρέπει να πραγματοποιείται εντός ενός μπλοκ σταδίου.
- Οποιαδήποτε υλική εργασία σε έναν αγωγό πρέπει να εκτελείται εντός ενός μπλοκ κόμβου.
- Μην χρησιμοποιείτε δεδομένα εισόδου εντός ενός μπλοκ κόμβου.
- Μην ορίζετε ποτέ μεταβλητές περιβάλλοντος με την καθολική μεταβλητή env
- Τυλίξτε τις εισροές σας σε χρονικό όριο













