Tutorial Jenkins | Συνεχής ολοκλήρωση με χρήση της Jenkins | Έντρεκα



Το Jenkins Tutorial είναι το δεύτερο blog της σειράς blog Jenkins. Αυτό το ιστολόγιο μιλά για την κατανεμημένη αρχιτεκτονική της Jenkins και πώς να δημιουργήσετε μια κατασκευή χρησιμοποιώντας την Jenkins.

Tutorial της Jenkins

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

Πριν προχωρήσουμε στο Jenkins Tutorial, οι βασικές επιλογές από το προηγούμενο ιστολόγιο είναι:





  • Το Jenkins χρησιμοποιείται για την ενσωμάτωση όλων των σταδίων του DevOps με τη βοήθεια πρόσθετων.
  • Τα πρόσθετα Jenkins που χρησιμοποιούνται συνήθως είναι το Git, το Amazon EC2, το έργο Maven 2, ο εκδότης HTML κ.λπ.
  • Η Jenkins έχει πάνω από 1000 πρόσθετα και147.000 ενεργές εγκαταστάσεις μαζί με περισσότερους από 1 εκατομμύριο χρήστες σε όλο τον κόσμο.
  • Με συνεχή ενσωμάτωση κάθε αλλαγή γίνεται στον πηγαίο κώδικαείναιχτισμένο. Εκτελεί και άλλες λειτουργίες,αυτό εξαρτάται από το εργαλείο που χρησιμοποιείται για συνεχή ολοκλήρωση.
  • Η Nokia μετατοπίστηκε από το Nightly build σε Continuous Integration.
  • Η διαδικασία πριν από τη συνεχή ολοκλήρωση είχε πολλά ελαττώματα. Ως αποτέλεσμα, όχι μόνο η παράδοση του λογισμικού ήταν αργή, αλλά και η ποιότητα του λογισμικού δεν ήταν μέχρι το σημείο. Οι προγραμματιστές δυσκολεύτηκαν επίσης να εντοπίσουν και να διορθώσουν σφάλματα.
  • Η συνεχής ολοκλήρωση με την Jenkins ξεπέρασε αυτές τις αδυναμίες ενεργοποιώντας συνεχώς μια έκδοση και δοκιμή για κάθε αλλαγή που έγινε στον πηγαίο κώδικα.

Τώρα είναι η σωστή στιγμή για να κατανοήσετε την αρχιτεκτονική του Jenkins.

Αρχιτεκτονική Jenkins

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



Αυτόνομη Αρχιτεκτονική Jenkins - Τι είναι η Jenkins - Edureka

Αυτός ο μοναδικός διακομιστής Jenkins δεν ήταν αρκετός για να ικανοποιήσει ορισμένες απαιτήσεις όπως:

  • Μερικές φορές μπορεί να χρειαστείτε πολλά διαφορετικά περιβάλλοντα για να δοκιμάσετε τις κατασκευές σας. Αυτό δεν μπορεί να γίνει από έναν διακομιστή Jenkins.
  • Εάν τα μεγαλύτερα και βαρύτερα έργα δημιουργούνται σε τακτική βάση, τότε ένας διακομιστής Jenkins δεν μπορεί απλά να χειριστεί ολόκληρο το φορτίο.

Για την αντιμετώπιση των παραπάνω αναφερθεισών αναγκών, παρουσιάστηκε η αρχιτεκτονική της Jenkins.



Jenkins Κατανεμημένη Αρχιτεκτονική

Η Jenkins χρησιμοποιεί μια αρχιτεκτονική Master-Slave για τη διαχείριση κατανεμημένων κατασκευών. Σε αυτήν την αρχιτεκτονική, οι Master και Slave επικοινωνούν μέσω πρωτοκόλλου TCP / IP.

Τζένκινς Μάστερ

Ο κύριος διακομιστής της Jenkins είναι ο Master. Η δουλειά του Δασκάλου είναι να χειρίζεται:

  • Προγραμματισμός εργασιών κατασκευής.
  • Η αποστολή δημιουργεί στους σκλάβους για την πραγματική εκτέλεση.
  • Παρακολουθήστε τους σκλάβους (πιθανώς να τους μεταφέρετε στο διαδίκτυο και εκτός σύνδεσης όπως απαιτείται).
  • Καταγραφή και παρουσίαση των αποτελεσμάτων κατασκευής.
  • Μια κύρια παρουσία του Jenkins μπορεί επίσης να εκτελέσει εργασίες δημιουργίας απευθείας.

Τζένκινς Σκλάβος

Το Slave είναι ένα εκτελέσιμο Java που εκτελείται σε ένα απομακρυσμένο μηχάνημα. Ακολουθούν τα χαρακτηριστικά των Jenkins Slaves:

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

Το παρακάτω διάγραμμα είναι αυτονόητο. Αποτελείται από έναν Jenkins Master που διαχειρίζεται τρεις Jenkins Slave.

Τώρα ας δούμε ένα παράδειγμα στο οποίο η Jenkins χρησιμοποιείται για δοκιμές σε διαφορετικά περιβάλλοντα όπως: Ubuntu, MAC, Windows κ.λπ.

Το παρακάτω διάγραμμα αντιπροσωπεύει το ίδιο:

Οι παρακάτω λειτουργίες εκτελούνται στην παραπάνω εικόνα:

  • Η Jenkins ελέγχει το αποθετήριο Git σε περιοδικά διαστήματα για τυχόν αλλαγές που γίνονται στον πηγαίο κώδικα.
  • Κάθε έκδοση απαιτεί ένα διαφορετικό περιβάλλον δοκιμών που δεν είναι δυνατό για έναν διακομιστή Jenkins. Προκειμένου να εκτελέσει δοκιμές σε διαφορετικά περιβάλλοντα, η Jenkins χρησιμοποιεί διάφορα Slaves όπως φαίνεται στο διάγραμμα.
  • Ο Jenkins Master ζητά από αυτούς τους Slave να πραγματοποιήσουν δοκιμές και να δημιουργήσουν αναφορές δοκιμών.

Jenkins Build Pipeline

Χρησιμοποιείται για να γνωρίζει ποια εργασία εκτελεί αυτή τη στιγμή η Jenkins. Συχνά γίνονται πολλές διαφορετικές αλλαγές από αρκετούς προγραμματιστές ταυτόχρονα, επομένως είναι χρήσιμο να γνωρίζουμε ποια αλλαγή δοκιμάζεται ή ποια αλλαγή βρίσκεται στην ουρά ή ποια έκδοση έχει καταστραφεί. Εδώ έρχεται η εικόνα του αγωγού. Το Jenkins Pipeline σας δίνει μια επισκόπηση του πού είναι οι δοκιμές. Στον αγωγό build το build στο σύνολό του χωρίζεται σε τμήματα, όπως οι δοκιμές μονάδας, δοκιμή αποδοχής, συσκευασίες, αναφορές και φάσεις ανάπτυξης. Οι φάσεις του αγωγού μπορούν να εκτελεστούν σε σειρά ή παράλληλα, και αν μια φάση είναι επιτυχής, μεταβαίνει αυτόματα στην επόμενη φάση (εξ ου και η συνάφεια του ονόματος 'pipeline'). Η παρακάτω εικόνα δείχνει πώς μοιάζει μια πολλαπλή κατασκευή Pipeline.

εγκαταστήστε php στα παράθυρα 7

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

Θα δημιουργήσω μια νέα δουλειά στο Jenkins, είναι Έργο Freestyle . Ωστόσο, υπάρχουν 3 ακόμη διαθέσιμες επιλογές. Ας δούμε τους τύπους οικοδομικών εργασιών που διατίθενται στο Jenkins.

Έργο Freestyle:

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

Εργασία πολλαπλών ρυθμίσεων:

Το 'έργο πολλαπλής διαμόρφωσης' (αναφέρεται επίσης ως 'έργο μήτρας') σάς επιτρέπει να εκτελείτε την ίδια εργασία κατασκευής σε διαφορετικά περιβάλλοντα. Χρησιμοποιείται για τη δοκιμή μιας εφαρμογής σε διαφορετικά περιβάλλοντα, με διαφορετικές βάσεις δεδομένων ή ακόμα και σε διαφορετικά μηχανήματα κατασκευής.

Παρακολούθηση εξωτερικής εργασίας:

Η εργασία κατασκευής 'Παρακολούθηση εξωτερικής εργασίας' σάς επιτρέπει να παρακολουθείτε μη διαδραστικές διαδικασίες, όπως εργασίες cron.

Έργο Maven:

Το “maven2 / 3 project” είναι μια δουλειά κατασκευής ειδικά προσαρμοσμένη στα έργα Maven. Η Jenkins κατανοεί τα αρχεία Maven pom και τις δομές του έργου και μπορεί να χρησιμοποιήσει τις πληροφορίες που συλλέγονται από το αρχείο pom για να μειώσει την εργασία που πρέπει να κάνετε για να ρυθμίσετε το έργο σας.

Εδώ είναι ένα βίντεο για το μάθημα Jenkins για καλύτερη κατανόηση του Jenkins. Δείτε αυτό το βίντεο εκμάθησης Jenkins.

πώς να φτιάξετε μια σειρά αντικειμένων στην Java

Ξεκινώντας με τη Jenkins | Εκμάθηση Jenkins και DevOps | Jenkins για αρχάριους | Έντρεκα

Δημιουργία δομής χρησιμοποιώντας Jenkins

Βήμα 1: Από το σπίτι της διεπαφής Jenkins, επιλέξτε Νέο αντικείμενο.

Βήμα 2: Εισαγάγετε ένα όνομα και επιλέξτε Πρόγραμμα Freestyle .

Βήμα 3: Αυτή η επόμενη σελίδα είναι όπου καθορίζετε τη διαμόρφωση της εργασίας. Όπως θα παρατηρήσετε γρήγορα, υπάρχουν πολλές διαθέσιμες ρυθμίσεις κατά τη δημιουργία ενός νέου έργου.Σε αυτήν τη σελίδα διαμόρφωσης, έχετε επίσης την επιλογή να Προσθήκη βήματος κατασκευής για να εκτελέσετε επιπλέον ενέργειες όπως εκτέλεση σεναρίων. Θα εκτελέσω ένα σενάριο κελύφους.

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

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

Βήμα 5: Κάντε κλικ Δημιουργήστε τώρα στην αριστερή πλευρά για να ξεκινήσει η κατασκευή.

Βήμα 6: Για να δείτε περισσότερες πληροφορίες, κάντε κλικ σε αυτό το build στην περιοχή του ιστορικού build, οπότε θα μεταφερθείτε σε μια σελίδα με μια επισκόπηση των πληροφοριών build.

Βήμα 7: ο Έξοδος κονσόλας Ο σύνδεσμος σε αυτήν τη σελίδα είναι ιδιαίτερα χρήσιμος για την λεπτομερή εξέταση των αποτελεσμάτων της εργασίας.

Βήμα 8: Εάν επιστρέψετε στο σπίτι της Jenkins, θα δείτε μια επισκόπηση όλων των έργων και των πληροφοριών τους, συμπεριλαμβανομένης της κατάστασης.

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

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

Σε αυτό το Tutorial Jenkins, έδωσα ένα εισαγωγικό παράδειγμα. Στο επόμενο blog μου, θα σας δείξω πώς να τραβήξετε και να δημιουργήσετε κώδικα από το αποθετήριο GitHub χρησιμοποιώντας τον Jenkins.

Εάν το βρήκατε Tutorial της Jenkins σχετικό, ελέγξτε το από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το μάθημα Εκπαίδευσης Πιστοποίησης Edureka DevOps βοηθά τους μαθητές να αποκτήσουν εμπειρία σε διάφορες διαδικασίες και εργαλεία DevOps, όπως Puppet, Jenkins, Nagios και GIT για την αυτοματοποίηση πολλαπλών βημάτων στο SDLC.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων και θα επικοινωνήσουμε μαζί σας.