Πώς να δημιουργήσετε μια νέα εργασία δημιουργίας στο Jenkins Freestyle Project

⚡ Έξυπνη Σύνοψη

Jenkins Το Freestyle Project είναι μια επαναλήψιμη εργασία δημιουργίας που συνδυάζει την ολοκλήρωση της διαδικασίας ελέγχου πηγαίου κώδικα, τα βήματα δημιουργίας και τις ενέργειες μετά την κατασκευή σε μία διαμορφώσιμη εργασία, η οποία δημιουργήθηκε εξ ολοκλήρου μέσω του Jenkins διεπαφή ιστού χωρίς να γράφεται κώδικας αγωγού.

  • 🔘 Ορισμός: Μια δουλειά freestyle είναι Jenkins'τύπος έργου γενικής χρήσης, που διαμορφώνεται μέσω φορμών αντί για Jenkinsαρχείο.
  • ☑️ Απαιτούμενα: Ένα τρέξιμο Jenkins Απαιτούνται πρώτα ένας ελεγκτής, ένα JDK στον παράγοντα δημιουργίας, το πρόσθετο Git και ένα προσβάσιμο αποθετήριο.
  • Δέκα βήματα: Συνδεθείτε, δημιουργήστε ένα Νέο Αντικείμενο, ονομάστε το, ορίστε το αποθετήριο, προσθέστε ένα βήμα δημιουργίας, αποθηκεύστε, δημιουργήστε και διαβάστε την έξοδο της κονσόλας.
  • 🧪 Λειτουργικό παράδειγμα: Ένα έργο HelloWorld που αντλείται από το GitHub μεταγλωττίζεται με javac και εκτελείται με java μέσα σε ένα Windows βήμα μαζικής κατασκευής.
  • Χάρτης διαμόρφωσης: Έξι ενότητες φόρμας — Γενικά, Πηγή Code Διαχείριση, Δημιουργία εναυσμάτων, Δημιουργία περιβάλλοντος, Βήματα δημιουργίας και Ενέργειες μετά την κατασκευή — καλύπτουν κάθε επιλογή.
  • ⚙️ Όριο πεδίου εφαρμογής: Οι εργασίες freestyle ταιριάζουν στον αυτοματισμό μίας μόνο εργασίας. Η εργασία παράδοσης σε πολλαπλά στάδια ανήκει σε μια εργασία Pipeline που ελέγχεται από έκδοση.

Πώς να δημιουργήσετε μια νέα εργασία δημιουργίας στο Jenkins Freestyle Project

Τι είναι ένα Jenkins Ελεύθερο Έργο;

Jenkins Freestyle Project είναι μια επαναλήψιμη εργασία δημιουργίας, σενάριο ή αγωγός που περιέχει βήματα και ενέργειες μετά την κατασκευή. Είναι μια βελτιωμένη εργασία ή εργασία που μπορεί να εκτείνεται σε πολλαπλές λειτουργίες. Σας επιτρέπει να διαμορφώνετε εναύσματα δημιουργίας και προσφέρει ασφάλεια βασισμένη σε έργα για το Jenkins έργο. Προσφέρει επίσης πρόσθετα (plugins) που σας βοηθούν να δημιουργήσετε βήματα και ενέργειες μετά την κατασκευή.

Οι τύποι ενεργειών που μπορείτε να εκτελέσετε σε ένα Jenkins Το βήμα κατασκευής ή η ενέργεια μετά την κατασκευή είναι αρκετά περιορισμένα. Υπάρχουν πολλά τυπικά πρόσθετα διαθέσιμα σε ένα Jenkins Freestyle Project για να σας βοηθήσει να ξεπεράσετε αυτό το πρόβλημα.

Το παρακάτω διάγραμμα τοποθετεί την εργασία freestyle μέσα στο ευρύτερο συνεχή ολοκλήρωση βρόχο, από την ολοκλήρωση της αγοράς πηγαίου κώδικα έως τις ενέργειες μετά την κατασκευή που αναφέρουν το αποτέλεσμα.

Βήματα για τη δημιουργία μιας θέσης εργασίας στο Jenkins Freestyle Project
Πώς να δημιουργήσετε μια θέση εργασίας στο Jenkins

Προϋποθέσεις για τη δημιουργία ενός Jenkins Ελεύθερη δουλειά

Πριν τα δέκα βήματα που ακολουθούν λειτουργήσουν από την αρχή μέχρι το τέλος, πρέπει να έχουν γίνει τέσσερα πράγματα. Η έλλειψη οποιουδήποτε από αυτά είναι ο συνήθης λόγος που μια πρώτη κατασκευή freestyle αποτυγχάνει με κόκκινη μπάλα αντί για μπλε.

  • Ένα τρέξιμο Jenkins ελεγκτή. Jenkins ακούει στη θύρα 8080 από προεπιλογή. Εάν Jenkins δεν εκτελείται ακόμα, ακολουθήστε το αναλυτική παρουσίαση εγκατάστασης πρώτη.
  • Ένα JDK στο μηχάνημα που εκτελεί την κατασκευή. Το επεξεργασμένο παράδειγμα μεταγλωττίζεται Java, Οπότε javac πρέπει να βρίσκεται στη ΔΙΑΔΡΟΜΗ του ελεγκτή ή του παράγοντα που εκτελεί την εργασία. Επιβεβαιώστε το με μια γραμμή java -version βήμα κατασκευής πριν προσθέσετε οτιδήποτε άλλο.
  • Το πρόσθετο Git. The Git Η επιλογή εμφανίζεται μόνο στην ενότητα Πηγή Code Διαχείριση μόλις εγκατασταθεί το πρόσθετο, μέσω Διαχειριστείτε Jenkins > Πρόσθετα.
  • Ένα προσβάσιμο αποθετήριο. Ένα δημόσιο HTTPS URL δεν χρειάζεται διαπιστευτήρια. Ένα ιδιωτικό αποθετήριο χρειάζεται διαπιστευτήρια αποθηκευμένα στο Jenkins πρώτα, διαφορετικά η ολοκλήρωση της αγοράς αποτυγχάνει κατά την πρώτη κιόλας δημιουργία.

Ένας λογαριασμός με το Εργασία/Δημιουργία απαιτείται επίσης άδεια — σε ένα νέο single user Jenkins Ο λογαριασμός διαχειριστή το έχει ήδη.

Πώς να δημιουργήσετε μια νέα εργασία δημιουργίας στο Jenkins

Η εργασία κατασκευής ελεύθερου στυλ είναι μια εξαιρετικά ευέλικτη και εύχρηστη επιλογή. Μπορείτε να το χρησιμοποιήσετε για οποιοδήποτε είδος έργου. είναι εύκολο να ρυθμιστεί και πολλές από τις επιλογές του εμφανίζονται σε άλλες εργασίες κατασκευής. Ακολουθεί μια διαδικασία βήμα προς βήμα για τη δημιουργία θέσεων εργασίας Jenkins.

Βήμα 1) Συνδεθείτε στο Jenkins

Για να δημιουργήσετε ένα Jenkins δουλειά freestyle, συνδεθείτε στο δικό σας Jenkins πίνακα ελέγχου μεταβαίνοντας στο Jenkins διαδρομή εγκατάστασης. Συνήθως, θα φιλοξενείται στο localhost στη διεύθυνση http://localhost:8080 Εάν έχετε εγκατασταθεί Jenkins σε άλλη διαδρομή, χρησιμοποιήστε την κατάλληλη URL για να αποκτήσετε πρόσβαση στον πίνακα ελέγχου σας όπως φαίνεται παρακάτω Jenkins παράδειγμα δημιουργίας θέσεων εργασίας.

Jenkins πίνακας ελέγχου που επιτεύχθηκε στο Jenkins διαδρομή εγκατάστασης μετά τη σύνδεση

Βήμα 2) Δημιουργία νέου αντικειμένου

Κάντε κλικ στο "Νέο στοιχείο"στην επάνω αριστερή πλευρά του πίνακα ελέγχου σας. Το παρακάτω στιγμιότυπο οθόνης δείχνει πού βρίσκεται αυτός ο σύνδεσμος.

Σύνδεσμος Νέου Αντικειμένου στην επάνω αριστερή πλευρά του Jenkins ταμπλό

Βήμα 3) Εισαγάγετε λεπτομέρειες αντικειμένου

Στην επόμενη οθόνη,

  1. Εισαγάγετε το όνομα του στοιχείου που θέλετε να δημιουργήσετε. Θα χρησιμοποιήσουμε το "Hello world" για αυτό το demo.
  2. Επιλέξτε έργο Freestyle
  3. Κάντε κλικ στο Εντάξει

Πλαίσιο ονόματος στοιχείου με επιλεγμένο το έργο Freestyle πριν κάνετε κλικ στο κουμπί "Εντάξει"

Βήμα 4) Εισαγάγετε τις λεπτομέρειες του έργου

Εισαγάγετε τις λεπτομέρειες του έργου που θέλετε να δοκιμάσετε. Η σελίδα διαμόρφωσης που ανοίγει εμφανίζεται παρακάτω.

Λεπτομέρειες έργου που καταχωρήθηκαν στο Jenkins σελίδα διαμόρφωσης εργασίας freestyle

Βήμα 5) Εισαγάγετε το αποθετήριο URL

Στην περιοχή Πηγή Code Διαχείριση, Εισαγάγετε το αποθετήριό σας URLΈχουμε ένα αποθετήριο δοκιμών που βρίσκεται στη διεύθυνση https://github.com/kriru/firstJava.git

Πηγή Code Ενότητα διαχείρισης με το αποθετήριο δοκιμών Git URL εισήχθη

Είναι επίσης δυνατό να χρησιμοποιήσετε ένα τοπικό αποθετήριο.

Εάν το αποθετήριο GitHub σας είναι ιδιωτικό, Jenkins θα επικυρώσει πρώτα τα διαπιστευτήρια σύνδεσής σας με το GitHub και μόνο στη συνέχεια θα αντλήσει τον πηγαίο κώδικα από το αποθετήριο GitHub.

Βήμα 6) Τροποποιήστε τις ρυθμίσεις

Τώρα που έχετε δώσει όλες τις λεπτομέρειες, ήρθε η ώρα να δημιουργήσετε τον κώδικα. Αλλάξτε τις ρυθμίσεις στο χτίζω ενότητα για να δημιουργήσετε τον κώδικα τη στιγμή που θέλετε. Μπορείτε ακόμη και να προγραμματίσετε την κατασκευή να γίνεται περιοδικά, σε καθορισμένες ώρες.

Υπό κατασκευή,

  1. Κάντε κλικ στο "Προσθήκη βήματος κατασκευής"
  2. Κάντε κλικ στο "Εκτέλεση Windows εντολή παρτίδας” και προσθέστε τις εντολές που θέλετε να εκτελέσετε κατά τη διαδικασία κατασκευής.

Το αναπτυσσόμενο μενού που παραθέτει τα διαθέσιμα βήματα κατασκευής μοιάζει με αυτό.

Το αναπτυσσόμενο μενού προσθήκης βήματος δημιουργίας άνοιξε στη σελίδα διαμόρφωσης εργασίας freestyle

⚠️ Σημείωση έκδοσης: πρόσφατος Jenkins κυκλοφορίες που χαρακτηρίζουν αυτήν την περιοχή Δημιουργήστε Βήματα αντί Χτίστεκαι σε Linux ή macOS πράκτορες η ισοδύναμη επιλογή είναι Εκτελέστε το κέλυφοςΤο κουμπί εξακολουθεί να ονομάζεται Προσθήκη βήματος κατασκευής.

Εδώ, έχω προσθέσει τις εντολές java για τη μεταγλώττιση του κώδικα java.

Έχω προσθέσει τις ακόλουθες εντολές των windows:

javac HelloWorld.java
java HelloWorld

Το πλαίσιο εντολών με αυτές τις δύο γραμμές που έχουν εισαχθεί εμφανίζεται παρακάτω.

Εκτέλεση Windows πλαίσιο εντολών δέσμης που περιέχει τις εντολές javac και java

Βήμα 7) Αποθηκεύστε το έργο

Όταν έχετε εισαγάγει όλα τα δεδομένα,

  1. Πατήστε Εγγραφές
  2. Αποθήκευση η εργασία.

Βήμα 8) Δημιουργία πηγαίου κώδικα

Τώρα, στην κύρια οθόνη, κάντε κλικ στο κουμπί Δημιουργία τώρα στην αριστερή πλευρά για να δημιουργήσετε τον πηγαίο κώδικα.

Κουμπί «Δημιουργία τώρα» στην αριστερή πλευρά της οθόνης έργου freestyle

Βήμα 9) Ελέγξτε την κατάσταση

Αφού κάνετε κλικ στο Build now, μπορείτε να δείτε την κατάσταση του build που εκτελείτε κάτω από το Build History.

Πίνακας ιστορικού κατασκευών που δείχνει την κατάσταση της έκδοσης freestyle που εκτελέστηκε

Βήμα 10) Δείτε την έξοδο της κονσόλας

Κάντε κλικ στον αριθμό έκδοσης και, στη συνέχεια, κάντε κλικ στην έξοδο της κονσόλας για να δείτε την κατάσταση της έκδοσης που εκτελείτε. Θα πρέπει να σας εμφανιστεί ένα μήνυμα επιτυχίας, εφόσον έχετε ακολουθήσει σωστά την εγκατάσταση, όπως φαίνεται παρακάτω. Jenkins δημιουργία νέου παραδείγματος εργασίας.

Οθόνη εξόδου κονσόλας που εμφανίζει το μήνυμα επιτυχίας για την ολοκληρωμένη κατασκευή

Συνοψίζοντας, έχουμε εκτελέσει ένα πρόγραμμα HelloWorld που φιλοξενείται στο GitHub. Jenkins τραβάει τον κώδικα από το απομακρυσμένο αποθετήριο και δημιουργεί συνεχώς σε μια συχνότητα που ορίζετε εσείς.

Jenkins Επεξήγηση των ενοτήτων διαμόρφωσης έργου Freestyle

Η παραπάνω αναλυτική περιγραφή αφορά μόνο τα πεδία που χρειάζεται το παράδειγμα HelloWorld. Η ίδια η σελίδα διαμόρφωσης χωρίζεται σε έξι ενότητες φόρμας και γνωρίζοντας τι κατέχει η καθεμία, οι υπόλοιπες επιλογές είναι πολύ πιο εύκολο να βρεθούν.

Τμήμα Τι ελέγχει Τυπική ρύθμιση
Γενικός Περιγραφή εργασίας, απόρριψη παλιών δομών, παράμετροι και εάν η εργασία εκτελείται σε έναν συγκεκριμένο παράγοντα Descriptιόν συν ένα όριο διατήρησης της κατασκευής
Πηγή Code Κοινωνικών Δικτύων Ποιο αποθετήριο να ελέγξετε και με ποια διαπιστευτήρια και υποκατάστημα Git, ένα HTTPS URL, κλαδί */master or */main
Δημιουργήστε κανόνες ετικέτας Τι ξεκινά αυτόματα την κατασκευή Δημοσκόπηση SCM, περιοδική δημιουργία ή webhook από το GitHub
Δόμηση Περιβάλλοντος Περιτυλίγματα εφαρμοσμένα σε ολόκληρη την κατασκευή Διαγραφή χώρου εργασίας πριν από την έναρξη της κατασκευής. προσθήκη χρονικών σημάνσεων στο αρχείο καταγραφής της κονσόλας
Δημιουργήστε Βήματα Οι εντολές που κάνουν τη δουλειά, εκτελούνται από πάνω προς τα κάτω Εκτέλεση Windows εντολή δέσμης ή εκτέλεση κελύφους
Ενέργειες μετά την κατασκευή Τι συμβαίνει μετά την ολοκλήρωση των βημάτων, όποιο και αν είναι το αποτέλεσμα Archiδείτε τα αντικείμενα, δημοσιεύστε μια αναφορά δοκιμής, στείλτε ένα email

Δύο συνήθειες εξοικονομούν πολύ χρόνο από τον εντοπισμό σφαλμάτων αργότερα. Προσθέστε βήματα κατασκευής με τη σειρά που πρέπει να εκτελούνται, επειδή Jenkins τα επεξεργάζεται από πάνω προς τα κάτω και σταματά στην πρώτη αποτυχία. Στη συνέχεια, αρχειοθετεί ό,τι παράγει η κατασκευή ως ενέργεια μετά την κατασκευή, επειδή ο χώρος εργασίας επαναχρησιμοποιείται από την επόμενη κατασκευή, ενώ τα αρχειοθετημένα αντικείμενα διατηρούνται ανά αριθμό κατασκευής.

Freestyle Project vs Pipeline: Ποιο πρέπει να χρησιμοποιήσετε;

Το Freestyle δεν είναι ο μόνος τύπος έργου στην οθόνη Νέου Αντικειμένου και δεν είναι πάντα ο σωστός. Ο παρακάτω πίνακας τον αντιστοιχίζει σε ένα Εργασία αγωγού στα σημεία που καθορίζουν τις περισσότερες πραγματικές επιλογές.

Σημείο σύγκρισης Ελεύθερο έργο Pipeline
Πώς ορίζεται Φόρμες ιστού που είναι αποθηκευμένες στην εργασία config.xml στο χειριστήριο A Jenkinsαρχείο που έχει δεσμευτεί με τον κώδικα της εφαρμογής
Ιστορικό αλλαγών Κρατείται από Jenkins, εκτός του αποθετηρίου σας Revεπεξεργασμένο και εκδομένο όπως οποιοδήποτε άλλο αρχείο πηγαίου κώδικα
Στάδια και παράλληλη εργασία Μια ενιαία επίπεδη λίστα βημάτων κατασκευής Ονομασμένες σκηνές, παράλληλοι κλάδοι και μια όψη σκηνής
Καμπύλη εκμάθησης Δεν απαιτείται scripting Απαιτείται η δηλωτική σύνταξη αγωγού
καλύτερη εφαρμογή Μία μεταγλώττιση, ένα σενάριο, μία προγραμματισμένη εργασία ή μάθηση Jenkins Πολυβάθμια δημιουργία, δοκιμή και ανάπτυξη ροών σε διάφορα περιβάλλοντα

Ένας πρακτικός κανόνας: επιδιώξτε το freestyle ενώ η εργασία είναι μια ενιαία εργασία και ακόμα μαθαίνετε το εργαλείο, και μετακινήστε την εργασία σε ένα Σωλήνας CI/CD μόλις αναπτυχθεί σε δεύτερο στάδιο ή χρειαστεί να αναθεωρηθεί παράλληλα με τον κώδικα. Οι ομάδες που συνεργάζονται Jenkins με τα εργαλεία κατασκευής συχνά φτάνουν σε αυτό το σημείο γρήγορα — ένα Maven και Selenium setup είναι μια κοινή ενεργοποίηση για τον διακόπτη και η ίδια συλλογιστική ισχύει για οποιοδήποτε δοκιμές αυτοματισμού σουίτα που λειτουργεί σε διάφορες φάσεις.

Συχνές Ερωτήσεις

Η έξοδος της κονσόλας αναφέρει την αιτία. Οι τρεις συνηθισμένες είναι η απουσία javac από το PATH του παράγοντα, ένα ιδιωτικό αποθετήριο χωρίς αποθηκευμένα διαπιστευτήρια και ένα λάθος όνομα κλάδου. Διορθώστε την αναφερόμενη γραμμή και, στη συνέχεια, εκτελέστε ξανά την εντολή Build Now.

Ανοίξτε τα Build Triggers και επιλέξτε Κατασκευάζετε περιοδικάκαι, στη συνέχεια, εισαγάγετε τη σύνταξη cron όπως H 2 * * * για ένα νυχτερινό τρέξιμο. Το H κατανέμει το φορτίο κατά τη διάρκεια της ώρας. Δημοσκόπηση SCM χρησιμοποιεί την ίδια σύνταξη αλλά δημιουργείται μόνο όταν αλλάζει το αποθετήριο.

Επιλέξτε Εκτελέστε το κέλυφος από το μενού Προσθήκη βήματος δημιουργίας αντί για Εκτέλεση Windows εντολή δέσμης. Η επιλογή που εμφανίζεται εξαρτάται από το λειτουργικό σύστημα του ελεγκτή ή του παράγοντα με τον οποίο είναι συνδεδεμένη η εργασία, όχι από τον δικό σας υπολογιστή.

Αποθηκεύστε το διακριτικό ή το κλειδί SSH μία φορά κάτω από Διαχειριστείτε Jenkins > Διαπιστευτήριακαι, στη συνέχεια, επιλέξτε το από το αναπτυσσόμενο μενού Διαπιστευτήρια στην Πηγή Code Τμήμα Διαχείρισης. Jenkins το επικυρώνει πριν από την ολοκλήρωση της αγοράς, επομένως ένα εσφαλμένο πιστοποιητικό αποτυγχάνει αμέσως στη δημιουργία.

Τα εργαλεία μηχανικής μάθησης διαβάζουν τα αρχεία καταγραφής της κονσόλας και ομαδοποιούν επαναλαμβανόμενες αποτυχίες, διαχωρίζοντας ένα γνήσιο σφάλμα μεταγλώττισης από έναν ασταθή παράγοντα ή ένα χρονικό όριο. Αυτή η διαλογή σας κατευθύνει στη μία γραμμή που έχει σημασία αντί να κάνετε κύλιση σε ένα μακρύ αρχείο καταγραφής χειροκίνητα.

GitHub Copilot συντάσσει το σενάριο δέσμης ή κελύφους μέσα σε ένα βήμα δημιουργίας και το CLI του μπορεί να συνοψίσει ένα αρχείο καταγραφής κονσόλας που έχει αποτύχει. Δεν μπορεί να κάνει κλικ στη φόρμα διαμόρφωσης, επομένως ελέγξτε κάθε εντολή που δημιουργείται πριν από την αποθήκευση.

Πρόσθεση Archiέχω τα τεχνουργήματα ως ενέργεια μετά την κατασκευή και να της δώσετε ένα μοτίβο όπως **/*.class. ArchiΤα αρχεία ved αποθηκεύονται ανά αριθμό έκδοσης, επομένως επιβιώνουν από τον χώρο εργασίας και επαναχρησιμοποιούνται ή καθαρίζονται μέχρι την επόμενη εκτέλεση.

Κάθε δουλειά ζει μέσα JENKINS_HOME/jobs/<job-name>, με τις ρυθμίσεις φόρμας στο config.xml και κάθε τρέχει κάτω builds/Η δημιουργία αντιγράφου ασφαλείας αυτού του φακέλου αρκεί για να μετακινήσετε ή να επαναφέρετε την εργασία.

Συνοψίστε αυτήν την ανάρτηση με: