top aws devops tools
Τα καλύτερα εργαλεία Amazon AWS DevOps: Ένας αγωγός , αποθετήριο πηγαίου κώδικα, κατασκευή και ανάπτυξη με το Amazon Web Services
Όταν ξεκίνησα την καριέρα μου στο λογισμικό περίπου 20+ χρόνια πίσω, έπρεπε να προμηθευτεί την υποδομή (Λογισμικό και Υλικό) για κάθε είδους ανάπτυξη και ανάπτυξη.
Αυτό περιελάμβανε την παραγγελία με τον προμηθευτή για διακομιστές, την αναμονή για ένα ορισμένο χρονικό διάστημα για να πάρει το ίδιο, αφού παραδόθηκε ο χώρος διακομιστή, πρέπει να γίνει κράτηση, εγκατάσταση του διακομιστή, λειτουργικό σύστημα, διαμόρφωση αποθήκευσης κ.λπ. Έπρεπε επίσης να ανησυχούμε απόδοση, διαθεσιμότητα (24 * 7), συντήρηση, δίκτυο κ.λπ.
Αυτή ήταν πάρα πολύ προσπάθεια για τη δημιουργία διακομιστή για δραστηριότητες ανάπτυξης και ανάπτυξης εφαρμογών.
Τι θα μάθετε:
- Εξέλιξη του Cloud Computing
- Δημιουργία και ανάπτυξη χρησιμοποιώντας εργαλεία AWS
- Jenkins Ενσωμάτωση με AWS Services
- Συνιστώμενη ανάγνωση
Εξέλιξη του Cloud Computing
Τα πράγματα έπρεπε να αλλάξουν με την εξέλιξη του Cloud Computing που σημαίνει ότι έχετε πρόσβαση σε όλες τις εφαρμογές και τις βάσεις δεδομένων σας μέσω του Διαδικτύου. Έτσι, οι πάροχοι Cloud Computing διατηρούν όλο το υλικό που απαιτείται για την εκτέλεση της εφαρμογής σας στο Web.
Όλοι οι πόροι με την κατάλληλη διαμόρφωση που χρειάζεστε για να φιλοξενήσετε την αίτησή σας είναι διαθέσιμοι με ένα κλικ. Ο χρόνος μειώνεται δραστικά για τη διάθεση των πόρων για προγραμματιστές. Το πιο σημαντικό είναι ότι πληρώνετε μόνο για όσα πρέπει να χρησιμοποιήσετε.
Το επίκεντρο για προγραμματιστές που χρησιμοποιούν υπηρεσίες που βασίζονται στο Cloud είναι μόνο αυτό που χρειάζονται για να εργαστούν στα έργα μας και να μην ανησυχείτε για τη διαθεσιμότητα υποδομής. Δεν μπαίνω σε τύπους υπολογιστικού νέφους (IaaS, PaaS, SaaS) υπάρχουν πολλές διαθέσιμες πληροφορίες μέσω του Διαδικτύου για να περιγράψω τι είναι.
Υπάρχουν πολλοί πάροχοι cloud. Αλλά τα 3 πιο δημοφιλή με τα οποία έχω συνεργαστεί είναι:
- Υπηρεσίες Web Amazon
- Microsoft Azure
- Google Cloud
Σε αυτήν την ενότητα, θα επικεντρωθώ στα εργαλεία για αγωγός , αποθετήριο πηγαίου κώδικα, κατασκευή και ανάπτυξη με Υπηρεσίες Web Amazon . Να μην ξεχνάμε ότι οι ομάδες εξακολουθούν να χρησιμοποιούν εργαλεία DevOps όπως οι Jenkins, Git, Maven και άλλα.
Επομένως, είναι επιτακτική ανάγκη, ενώ οι ομάδες μπορεί να θέλουν να μετακινήσουν τα περιουσιακά τους στοιχεία και τα αντικείμενα τους σε υποδομή cloud, πρέπει επίσης να μεγιστοποιήσουμε τις υπάρχουσες επενδύσεις τους σε εργαλεία και δεδομένα με ενσωματώσεις / μετακινήσεις όσο το δυνατόν περισσότερο.
Κάντε κλικ εδώ για να μάθετε για το AWS και τις διάφορες υπηρεσίες για Αρχιτέκτονες, Προγραμματιστές και SysOPS. Θα χρησιμοποιήσουμε τον δωρεάν λογαριασμό για τα εργαλεία που αναφέρονται, αλλά φυσικά, σε ένα περιβάλλον παραγωγής, θα χρειαστεί να προμηθευτείτε τις υπηρεσίες για χρήση.
Δημιουργία και ανάπτυξη χρησιμοποιώντας εργαλεία AWS
Από άποψη δημιουργίας και ανάπτυξης, θα εξετάσουμε τις ακόλουθες υπηρεσίες AWS
καλύτερη εκκαθάριση δίσκου για τα Windows 10
- Αγωγός κώδικα AWS
- AWS CodeCommit
- AWS CodeBuild
- AWS CodeDeploy
1. AWS CodePipeline
Το AWS CodePipeline είναι παρόμοιο με το Jenkins Pipeline που βοηθά στην οπτική προβολή της διαδικασίας παράδοσης από άκρο σε άκρο.
Έτσι, σε ένα CodePipeline, συνήθως θα διαμορφώσετε τα ακόλουθα
- Αποθήκη πηγαίου κώδικα - Επομένως, ο πηγαίος κώδικας σας θα πρέπει να είναι είτε στο AWS CodeCommit είτε στο αποθετήριο GitHub.
- Κατασκευή υπηρεσίας - Οι λεπτομέρειες AWS CodeBuild θα διαμορφωθούν ως μέρος του αγωγού.
- Παρατάσσω - Το AWS CodeDeploy θα διαμορφωθεί στον αγωγό.
- Κατά τη διαδικασία ανάπτυξης σε διαφορετικά περιβάλλοντα, εάν απαιτούνται εγκρίσεις, θα μπορούσαν να διαμορφωθούν επίσης
Επομένως, εάν υπάρχει αλλαγή κώδικα από τον προγραμματιστή, η οπτική αναπαράσταση του Build and Deploy μπορεί να θεωρηθεί αυτοματοποιημένη.
Διαμόρφωση αποθετηρίου πηγαίου κώδικα στο AWS CodePipeline
Δημιουργία διαμόρφωσης στο AWS CodePipeline που χρησιμοποιεί το Maven build
Διαμόρφωση ανάπτυξης στο AWS CodePipeline
Η πλήρης εκτέλεση εμφανίζεται στο AWS CodePipeline
2. AWS CodeCommit
Το AWS CodeCommit είναι μια ασφαλής διαδικτυακή υπηρεσία ελέγχου εκδόσεων που φιλοξενεί ιδιωτικά αποθετήρια Git. Μια ομάδα δεν χρειάζεται να διατηρεί το δικό της αποθετήριο ελέγχου έκδοσης, αντί να χρησιμοποιεί AWS CodeCommit για να αποθηκεύει τον πηγαίο κώδικα ή ακόμη και τα δυαδικά αρχεία, όπως τα αρχεία WAR / JAR / EAR που δημιουργούνται από το build.
Με το AWS CodeCommit δημιουργείτε ένα αποθετήριο και κάθε προγραμματιστής θα το κλωνοποιήσει στον τοπικό υπολογιστή του, θα προσθέσει αρχεία σε αυτό και θα το ωθήσει πίσω στο αποθετήριο AWS CodeCommit. Κάποιος χρησιμοποιεί τις τυπικές εντολές GIT με το αποθετήριο AWS CodeCommit.
Για Π.χ. Μόλις το αποθετήριο AWS CodeCommit κλωνοποιηθεί σε τοπικό μηχάνημα, θα χρησιμοποιούσατε εντολές όπως 'git pull', 'git add', 'git commit', 'git push' κλπ.
Δημιουργήθηκε ένα ενδεικτικό κενό αποθετήριο AWS CodeCommit
Κλωνοποιήστε το αποθετήριο στο τοπικό μηχάνημα
Αρχεία προστέθηκαν στο αποθετήριο AWS CodeCommit
3. AWS CodeBuild
Όπως έχουμε δει ο πηγαίος κώδικας και άλλα αντικείμενα έργου αποθηκεύονται στο αποθετήριο AWS CodeCommit.
Για να εφαρμόσετε Continuous Integration AWS CodeBuild όπως η Jenkins παίρνει τις τελευταίες αλλαγές του πηγαίου κώδικα από το AWS CodeCommit ή το GitHub repository όπως έχει διαμορφωθεί και βασίζεται στις προδιαγραφές build Αρχείο YAML (δημιουργήθηκε ως buildspec.yml) οι εντολές εκτελούνται με βάση τις τέσσερις φάσεις όπως Εγκατάσταση, Προ-κατασκευή, Κατασκευή και Μετα-κατασκευή.
Μόλις ολοκληρωθεί η κατασκευή, τα αντικείμενα (WAR / ZIP / JAR / EAR) αποθηκεύονται στο AWS Storage που είναι ένας κάδος S3.
Δείγμα αρχείου buildspec.yml
version: 0.2 phases: install: commands: - echo Nothing in the install phase... pre_build: commands: - echo Nothing in the pre_build phase... build: commands: - echo Build started on `date` - mvn clean install post_build: commands: - echo Build completed on `date` artifacts: files: - target/HelloWorld-Maven.war
Δείγμα έργου AWS Codebuild
Χτίστε την επιτυχία
Το artifact (αρχείο WAR) αντιγράφηκε στον κάδο S3
4. AWS CodeDeploy
Όπως υποδηλώνει το όνομα, το AWS Codedeploy είναι η υπηρεσία ανάπτυξης που αυτοματοποιεί την ανάπτυξη της εφαρμογής (σε αυτήν την περίπτωση το αρχείο WAR) σε παρουσίες Amazon EC2 Linux ή Windows.
Δεδομένου ότι τώρα έχουμε τα αντικείμενα αποθηκευμένα σε κάδο S3 που ολοκληρώθηκε χρησιμοποιώντας AWS CodeBuild, τα αντικείμενα στη συνέχεια παραλαμβάνονται από τον κάδο S3 και αναπτύσσονται κατάλληλα στον διακομιστή εφαρμογών Tomcat ή JBoss κ.λπ. στην παροχή παρουσίας AWS EC2.
Το AWD CodeDeploy εξαρτάται από ένα αρχείο YAML που ονομάζεται appspec.yml και έχει οδηγίες για την ανάπτυξη στις παρουσίες EC2.
Δείγμα αρχείου appspec.yml όπου το αρχείο index.html αντιγράφεται και αναπτύσσεται στον διακομιστή Apache
version:10.0 os:linux files: -source: /opt/deploy/index.html destination:/var/www/html/ hooks: BeforeInstall: -location:scripts/before_install runas:niranjan AfterInstall: -location:scripts/restart_server runas:niranjan
πριν από την εγκατάσταση γραφή
επανεκκίνηση_ διακομιστή γραφή
Το GitHub repo όλων των αρχείων που απαιτούνται για την εκτέλεση του AWS CodeDeploy
Εκτέλεση ανάπτυξης στο AWS CodeDeploy
Jenkins Ενσωμάτωση με AWS Services
Όπως αναφέρθηκε νωρίτερα, σήμερα οι ομάδες χρησιμοποιούν το Jenkins ως το εργαλείο defacto CI και στις περισσότερες περιπτώσεις, δεν θα ήθελαν πραγματικά να απομακρυνθούν από αυτό, αλλά μάλλον να ενσωματωθούν στις υπηρεσίες AWS που συζητήσαμε. Ενώ υπάρχουν συγκεκριμένες διαδικασίες και έχω δείξει στιγμιότυπα οθόνης της ολοκλήρωσης.
1. Ενσωμάτωση της Jenkins στο AWS CodeCommit
2. Ενσωμάτωση της Jenkins στο AWS CodeBuild
3. Η ενσωμάτωση της Jenkins στο AWS CodeDeploy
Βάζοντας τα όλα μαζί για στοίβα AWS DevOps:
Η στοίβα κοιτάζει παρακάτω για τις υπηρεσίες AWS που συζητούνται παραπάνω.
Ελπίζω αυτό το σεμινάριο για, εργαλεία για αγωγός , αποθετήριο πηγαίου κώδικα, κατασκευή και ανάπτυξη με το Amazon Web Services, σας βοήθησε.
Συνιστώμενη ανάγνωση
- Tutorial AWS CodeCommit για την εφαρμογή DevOps στο Cloud
- Εργασία στο AWS CodeDeploy DevOps Tool For Automated Deployment
- Συνεχής ανάπτυξη σε DevOps
- Τα καλύτερα εργαλεία δοκιμής λογισμικού 2021 (QA Test Automation Tools)
- Tutorial AWS CodeBuild: Εξαγωγή κώδικα από το Maven Build
- Συνεχής παράδοση σε DevOps
- 10 καλύτερα εργαλεία παρακολούθησης cloud για τέλεια διαχείριση cloud
- Συνεχής δοκιμή σε DevOps