Στον κόσμο της ανάπτυξης λογισμικού, η αναθεώρηση και η έγκριση κώδικα είναι σημαντικές διαδικασίες για τη διασφάλιση της ποιότητας, της ασφάλειας και της λειτουργικότητας του λογισμικού που αναπτύσσεται. Ωστόσο, οι διευθυντές που είναι επιφορτισμένοι με την επίβλεψη αυτών των κρίσιμων διαδικασιών αντιμετωπίζουν συχνά πολλές προκλήσεις, όπως οι ακόλουθες:
- Έλλειψη τεχνικής εμπειρογνωμοσύνης – Οι διευθυντές μπορεί να μην έχουν σε βάθος τεχνική κατανόηση της γλώσσας προγραμματισμού που χρησιμοποιείται ή μπορεί να μην έχουν ασχοληθεί με τη μηχανική λογισμικού για μεγάλο χρονικό διάστημα. Αυτό οδηγεί σε ένα κενό γνώσης που μπορεί να δυσκολέψει την ακριβή αξιολόγηση του αντίκτυπου και της ορθότητας των προτεινόμενων αλλαγών κώδικα.
- Χρονικοί περιορισμοί – Η αναθεώρηση και η έγκριση κώδικα μπορεί να είναι μια χρονοβόρα διαδικασία, ειδικά σε μεγαλύτερα ή πιο πολύπλοκα έργα. Οι διευθυντές πρέπει να ισορροπούν μεταξύ της πληρότητας της αναθεώρησης και της πίεσης για την τήρηση των χρονοδιαγραμμάτων του έργου.
- Όγκος αιτημάτων αλλαγής – Η αντιμετώπιση μεγάλου όγκου αιτημάτων αλλαγής είναι μια κοινή πρόκληση για τους διευθυντές, ειδικά εάν επιβλέπουν πολλές ομάδες και έργα. Παρόμοια με την πρόκληση του χρονικού περιορισμού, οι διαχειριστές πρέπει να είναι σε θέση να χειρίζονται αποτελεσματικά αυτά τα αιτήματα, ώστε να μην εμποδίζουν την πρόοδο του έργου.
- Χειροκίνητη προσπάθεια – Η αναθεώρηση του κώδικα απαιτεί χειροκίνητη προσπάθεια από τους διαχειριστές και η έλλειψη αυτοματισμού μπορεί να δυσκολέψει την κλιμάκωση της διαδικασίας.
- Απόδειξη με έγγραφα – Η κατάλληλη τεκμηρίωση της διαδικασίας αναθεώρησης και έγκρισης του κώδικα είναι σημαντική για τη διαφάνεια και τη λογοδοσία.
Με την άνοδο του γενετικής τεχνητής νοημοσύνης (AI), οι διαχειριστές μπορούν τώρα να αξιοποιήσουν αυτήν τη μετασχηματιστική τεχνολογία και να την ενσωματώσουν με τη σουίτα εργαλείων και υπηρεσιών ανάπτυξης AWS για να βελτιστοποιήσουν τη διαδικασία αναθεώρησης και έγκρισης με τρόπο που δεν ήταν δυνατό στο παρελθόν. Σε αυτήν την ανάρτηση, εξερευνούμε μια λύση που προσφέρει μια ολοκληρωμένη ροή εργασιών ανάπτυξης από άκρο σε άκρο που ενσωματώνει αυτοματοποιημένη ανάλυση και σύνοψη αλλαγών μαζί με λειτουργικότητα ροής εργασιών έγκρισης. Χρησιμοποιούμε Θεμέλιο του Αμαζονίου, μια πλήρως διαχειριζόμενη υπηρεσία που καθιστά διαθέσιμα μοντέλα θεμελίωσης (FM) από κορυφαίες startups AI και την Amazon μέσω ενός API, ώστε να μπορείτε να επιλέξετε από μια μεγάλη γκάμα FM για να βρείτε το μοντέλο που ταιριάζει καλύτερα στην περίπτωση χρήσης σας. Με την εμπειρία χωρίς διακομιστή Amazon Bedrock, μπορείτε να ξεκινήσετε γρήγορα, να προσαρμόσετε ιδιωτικά τα FM με τα δικά σας δεδομένα και να τα ενσωματώσετε και να τα αναπτύξετε στις εφαρμογές σας χρησιμοποιώντας εργαλεία AWS χωρίς να χρειάζεται να διαχειριστείτε καμία υποδομή.
Επισκόπηση λύσεων
Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική λύσεων.
Η ροή εργασίας αποτελείται από τα ακόλουθα βήματα:
- Ένας προγραμματιστής προωθεί νέες αλλαγές κώδικα στο χώρο αποθήκευσης κώδικα (όπως π.χ AWS CodeCommit), το οποίο ενεργοποιεί αυτόματα την έναρξη μιας Αγωγός κώδικα AWS ανάπτυξη.
- Ο κώδικας εφαρμογής περνά από μια διαδικασία δημιουργίας κώδικα, εκτελεί σαρώσεις ευπάθειας και πραγματοποιεί δοκιμές μονάδας χρησιμοποιώντας τα εργαλεία που προτιμάτε.
- AWS CodeBuild ανακτά το αποθετήριο και εκτελεί μια εντολή git show για να εξαγάγει τις διαφορές κώδικα μεταξύ της τρέχουσας έκδοσης commit και της προηγούμενης έκδοσης commit. Αυτό παράγει μια έξοδο γραμμή προς γραμμή που υποδεικνύει τις αλλαγές κώδικα που έγιναν σε αυτήν την έκδοση.
- Το CodeBuild αποθηκεύει την έξοδο σε ένα Amazon DynamoDB πίνακας με πρόσθετες πληροφορίες αναφοράς:
- Αναγνωριστικό εκτέλεσης CodePipeline
- Περιοχή AWS
- Όνομα CodePipeline
- CodeBuild αριθμός κατασκευής
- Ημερομηνία και ώρα
- Κατάσταση
- Ροές Amazon DynamoDB καταγράφει τις τροποποιήσεις δεδομένων φτιαγμένο στο τραπέζι.
- An AWS Lambda Η λειτουργία ενεργοποιείται από τη ροή DynamoDB για την επεξεργασία της εγγραφής που καταγράφηκε.
- Η συνάρτηση καλεί το μοντέλο Anthropic Claude v2 στο Amazon Bedrock μέσω του Amazon Bedrock InvokeModel API κλήση. Οι διαφορές κώδικα, μαζί με μια προτροπή, παρέχονται ως είσοδος στο μοντέλο για ανάλυση και μια σύνοψη των αλλαγών κώδικα επιστρέφεται ως έξοδο.
- Η έξοδος από το μοντέλο αποθηκεύεται πίσω στον ίδιο πίνακα DynamoDB.
- Ο διαχειριστής ειδοποιείται μέσω Απλή υπηρεσία email της Amazon (Amazon SES) της περίληψης των αλλαγών κώδικα και ότι απαιτείται η έγκρισή τους για την ανάπτυξη.
- Ο διαχειριστής ελέγχει το μήνυμα ηλεκτρονικού ταχυδρομείου και παρέχει την απόφασή του (είτε εγκρίνει είτε απορρίπτει) μαζί με τυχόν σχόλια αξιολόγησης μέσω της κονσόλας του CodePipeline.
- Η απόφαση έγκρισης και τα σχόλια επανεξέτασης καταγράφονται από Amazon EventBridge, η οποία ενεργοποιεί μια συνάρτηση Lambda για να τα αποθηκεύσει πίσω στο DynamoDB.
- Εάν εγκριθεί, η διοχέτευση αναπτύσσει τον κωδικό εφαρμογής χρησιμοποιώντας τα εργαλεία που προτιμάτε. Εάν απορριφθεί, η ροή εργασίας τελειώνει και η ανάπτυξη δεν συνεχίζεται περαιτέρω.
Στις ακόλουθες ενότητες, αναπτύσσετε τη λύση και επαληθεύετε τη ροή εργασίας από άκρο σε άκρο.
Προϋποθέσεις
Για να ακολουθήσετε τις οδηγίες σε αυτήν τη λύση, χρειάζεστε τις ακόλουθες προϋποθέσεις:
Αναπτύξτε τη λύση
Για να αναπτύξετε τη λύση, ακολουθήστε τα παρακάτω βήματα:
- Επιλέξτε Εκκίνηση στοίβας για την εκκίνηση μιας στοίβας CloudFormation
us-east-1
: - Για Διεύθυνση ηλεκτρονικού ταχυδρομείου, πληκτρολογήστε μια διεύθυνση email στην οποία έχετε πρόσβαση. Η περίληψη των αλλαγών του κώδικα θα σταλεί σε αυτήν τη διεύθυνση email.
- Για μοντέλοId, αφήστε ως το προεπιλεγμένο anthropic.claude-v2, το οποίο είναι το μοντέλο Anthropic Claude v2.
Η ανάπτυξη του προτύπου θα διαρκέσει περίπου 4 λεπτά.
- Όταν λαμβάνετε ένα email από το Amazon SES για να επαληθεύσετε τη διεύθυνση email σας, επιλέξτε τον σύνδεσμο που παρέχεται για να εξουσιοδοτήσετε τη διεύθυνση email σας.
- Θα λάβετε ένα email με τίτλο «Σύνοψη αλλαγών» για την αρχική δέσμευση του αποθετηρίου δείγματος στο CodeCommit.
- Στην κονσόλα AWS CloudFormation, μεταβείτε στο Έξοδοι καρτέλα της αναπτυγμένης στοίβας.
- Αντιγράψτε την τιμή του RepoCloneURL. Χρειάζεστε αυτό για να αποκτήσετε πρόσβαση στο αποθετήριο δείγματος κώδικα.
Δοκιμάστε τη λύση
Μπορείτε να δοκιμάσετε τη ροή εργασίας από άκρο σε άκρο αναλαμβάνοντας τον ρόλο του προγραμματιστή και προωθώντας ορισμένες αλλαγές κώδικα. Ένα σύνολο δειγμάτων κωδικών έχει ετοιμαστεί για εσάς στο CodeCommit. Προς την πρόσβαση στο αποθετήριο CodeCommit, πληκτρολογήστε τις ακόλουθες εντολές στο IDE σας:
Θα βρείτε την ακόλουθη δομή καταλόγου για ένα Κιτ ανάπτυξης AWS Cloud (AWS CDK) εφαρμογή που δημιουργεί μια συνάρτηση Lambda για την εκτέλεση ταξινόμησης με φυσαλίδες σε μια συμβολοσειρά ακεραίων αριθμών. Η συνάρτηση Lambda είναι προσβάσιμη μέσω μιας δημόσιας διαθέσιμης διεύθυνσης URL.
Κάνετε τρεις αλλαγές στους κωδικούς της εφαρμογής.
- Για να βελτιώσετε τη συνάρτηση ώστε να υποστηρίζει τον αλγόριθμο γρήγορης ταξινόμησης και ταξινόμησης με φυσαλίδες, λάβετε μια παράμετρο που επιτρέπει την επιλογή του αλγόριθμου που θα χρησιμοποιηθεί και επιστρέψτε τόσο τον χρησιμοποιούμενο αλγόριθμο όσο και τον ταξινομημένο πίνακα στην έξοδο, αντικαταστήστε ολόκληρο το περιεχόμενο του
lambda/index.py
με τον ακόλουθο κώδικα:
- Για να μειώσετε τη ρύθμιση χρονικού ορίου λήξης της λειτουργίας από 10 λεπτά σε 5 δευτερόλεπτα (επειδή δεν αναμένουμε ότι η λειτουργία θα εκτελεστεί περισσότερο από μερικά δευτερόλεπτα), ενημερώστε τη γραμμή 47 σε
my_sample_project/my_sample_project_stack.py
ως ακολούθως:
- Για να περιορίσετε την επίκληση της συνάρτησης χρησιμοποιώντας το IAM για πρόσθετη ασφάλεια, ενημερώστε τη γραμμή 56 in
my_sample_project/my_sample_project_stack.py
ως ακολούθως:
- Πιέστε τις αλλαγές του κώδικα εισάγοντας τις ακόλουθες εντολές:
Αυτό ξεκινά τη ροή εργασιών ανάπτυξης του CodePipeline από τα Βήματα 1–9, όπως περιγράφεται στην επισκόπηση της λύσης. Κατά την επίκληση του μοντέλου Amazon Bedrock, δώσαμε την ακόλουθη προτροπή:
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoData.Network Vertical Generative Ai. Ενδυναμώστε τον εαυτό σας. Πρόσβαση εδώ.
- PlatoAiStream. Web3 Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- PlatoESG. Ανθρακας, Cleantech, Ενέργεια, Περιβάλλον, Ηλιακός, Διαχείριση των αποβλήτων. Πρόσβαση εδώ.
- PlatoHealth. Ευφυΐα βιοτεχνολογίας και κλινικών δοκιμών. Πρόσβαση εδώ.
- πηγή: https://aws.amazon.com/blogs/machine-learning/enhance-code-review-and-approval-efficiency-with-generative-ai-using-amazon-bedrock/
- :έχει
- :είναι
- :δεν
- $UP
- 1
- 10
- 100
- 11
- 17
- 200
- 27
- 58
- 7
- 8
- 9
- a
- Ικανός
- Σχετικα
- επιταχύνουν
- πρόσβαση
- προσιτός
- ευθύνη
- με ακρίβεια
- Κατορθώνω
- πραγματικά
- προστιθέμενη
- Επιπλέον
- Πρόσθετος
- διεύθυνση
- Προσθέτει
- Πλεονέκτημα
- AI
- αλγόριθμος
- αλγόριθμοι
- επιτρέπουν
- κατά μήκος
- Amazon
- Amazon υπηρεσίες Web
- an
- αναλύσεις
- ανάλυση
- αναλύσει
- και
- Ανθρωπικός
- κάθε
- api
- app
- Εφαρμογή
- εφαρμογές
- έγκριση
- εγκρίνω
- εγκεκριμένη
- αρχιτεκτονική
- ΕΙΝΑΙ
- γύρω
- Παράταξη
- τεχνητός
- AS
- εκτιμώ
- βοηθήσει
- Βοηθός
- γνωρίσματα
- επαυξημένης
- επικυρωμένο
- Πιστοποίηση
- εξουσιοδοτώ
- Αυτοματοποιημένη
- αυτομάτως
- Αυτοματοποίηση
- διαθέσιμος
- AWS
- AWS CloudFormation
- πίσω
- Υπόλοιπο
- βασίζονται
- BE
- επειδή
- ήταν
- είναι
- ΚΑΛΎΤΕΡΟΣ
- μεταξύ
- σώμα
- και οι δύο
- φέρω
- φούσκα
- χτίζω
- Κτίριο
- by
- κλήση
- CAN
- Μπορεί να πάρει
- συλλαμβάνονται
- περίπτωση
- CD
- πρόκληση
- προκλήσεις
- αλλαγή
- άλλαξε
- Αλλαγές
- Επιλέξτε
- καθαρός
- Backup
- κωδικός
- Αναθεώρηση κώδικα
- κώδικες
- σχόλια
- διαπράττουν
- Κοινός
- πλήρης
- συγκρότημα
- συνοπτικός
- Διεξαγωγή
- συμπεριφέρεται
- Συνέπειες
- θεωρήσεις
- αποτελείται
- πρόξενος
- περιεχόμενο
- συμφραζόμενα
- δημιουργήθηκε
- δημιουργεί
- κρίσιμης
- Ρεύμα
- προσαρμόσετε
- ημερομηνία
- κόρη
- μοιρασιά
- απόφαση
- Προεπιλογή
- ορίζεται
- παρατάσσω
- αναπτυχθεί
- ανάπτυξη
- ανάπτυξη
- αναπτύσσεται
- Υπηρεσίες
- επιθυμητή
- Λεπτομέρεια
- Προσδιορίστε
- αναπτύχθηκε
- Εργολάβος
- Ανάπτυξη
- διάγραμμα
- διαφορές
- διαφορετικές
- δύσκολος
- κατάλογο
- τεκμηρίωση
- κάνει
- Μην
- διάρκεια
- ευκολία
- αποδοτικότητα
- αποτελεσματικά
- προσπάθεια
- είτε
- αλλιώς
- ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
- τέλος
- από άκρη σε άκρη
- τελειώνει
- Μηχανική
- ενίσχυση
- εξασφαλίζοντας
- εισάγετε
- εισερχόμενοι
- Ολόκληρος
- Περιβάλλον
- ειδικά
- Συμβάν
- παράδειγμα
- Εκτός
- αναμένω
- εμπειρία
- πειράματα
- διερευνήσει
- διερευνά
- επεκτάθηκε
- εκχύλισμα
- Πρόσωπο
- αντιμετωπίζουν
- οικογένεια
- λίγοι
- οικονομικός
- Χρηματοπιστωτικά ιδρύματα
- Εύρεση
- Ευελιξία
- ακολουθήστε
- Εξής
- εξής
- Για
- Θεμέλιο
- Δωρεάν
- από
- πλήρως
- λειτουργία
- λειτουργικός
- λειτουργικότητα
- περαιτέρω
- χάσμα
- παράγεται
- γενετική
- Παραγωγική τεχνητή νοημοσύνη
- παίρνω
- να πάρει
- Git
- Go
- πηγαίνει
- μεγαλύτερη
- καθοδήγηση
- λαβή
- ιπποσκευή
- Έχω
- που έχει
- he
- Ψηλά
- υψηλά
- του
- κρατήστε
- Πως
- Ωστόσο
- HTML
- http
- HTTPS
- ανθρώπινος
- i
- ID
- if
- απεικονίζει
- Επίπτωση
- εκτέλεση
- εκτελεστικών
- επιπτώσεις
- σημαντικό
- βελτίωση
- in
- σε βάθος
- ενσωματώνει
- ευρετήριο
- υποδηλώνει
- πληροφορίες
- Υποδομή
- αρχικός
- εισαγωγή
- ιδρυμάτων
- οδηγίες
- ενσωματώσει
- ενσωματωθεί
- Ενσωματώνει
- σε
- Εισάγει
- επικαλείται
- συμμετέχουν
- IT
- json
- Ξέρω
- γνώση
- Έλλειψη
- Γλώσσα
- μεγαλύτερος
- ξεκινήσει
- που οδηγεί
- Άδεια
- μείον
- ας
- γραμμή
- LINK
- Λιστα
- πλέον
- που
- Κυρίως
- μεγάλες
- κάνω
- ΚΑΝΕΙ
- διαχείριση
- διαχειρίζεται
- διευθυντής
- Διευθυντές
- τρόπος
- Ταχύτητες
- Ενδέχεται..
- σήμαινε
- Γνωρίστε
- Μεταδεδομένα
- ενδέχεται να
- Λεπτ.
- μοντέλο
- μοντέλα
- τροποποιήσεις
- περισσότερο
- πλέον
- πολλαπλούς
- Πλοηγηθείτε
- Ανάγκη
- Νέα
- επόμενη
- Όχι.
- Ν/Α
- τώρα
- αριθμοί
- πολυάριθμες
- of
- προσφορές
- συχνά
- on
- αποκλειστικά
- or
- ΑΛΛΑ
- αλλιώς
- έξω
- σκιαγραφείται
- παραγωγή
- εκτός
- φόρμες
- εποπτεία
- επισκόπηση
- δική
- παράμετρος
- εκκρεμής
- Εκτελέστε
- εκτελεί
- περίοδος
- αγωγού
- άξονας περιστροφής
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- δυνατός
- Θέση
- δυναμικού
- δύναμη
- προτιμάται
- έτοιμος
- προαπαιτούμενα
- χυτρα
- προηγούμενος
- προηγουμένως
- προχωρήσει
- διαδικασια μας
- Διεργασίες
- παράγει
- παράγει
- Προφίλ ⬇️
- Προγραμματισμός
- Πρόοδος
- σχέδιο
- έργα
- προτρέπει
- κατάλληλος
- προτείνεται
- παρέχουν
- παρέχεται
- παρέχει
- δημοσίως
- σκοπός
- ωθεί
- Δραστήριος
- ποιότητα
- απορία
- Γρήγορα
- γρήγορα
- σειρά
- λαμβάνω
- ρεκόρ
- μείωση
- Μειωμένος
- μειώνει
- αναφορά
- Απορρίφθηκε..
- απελευθερώνουν
- αντικαθιστώ
- Αποθήκη
- αιτήματα
- απαιτείται
- απαιτήσεις
- Απαιτεί
- Υποστηρικτικό υλικό
- απάντησης
- περιορίζω
- Αποτελέσματα
- απόδοση
- Επιστροφές
- ανασκόπηση
- Κριτικές
- Αύξηση
- Ρόλος
- τρέξιμο
- s
- ίδιο
- δείγμα
- Αποθήκευση
- αποθηκεύονται
- επεκτάσιμη
- Κλίμακα
- σαρώσεις
- δευτερόλεπτα
- τμήματα
- προστατευμένο περιβάλλον
- ασφάλεια
- επιλογή
- αρχαιότερος
- αποστέλλονται
- Χωρίς διακομιστή
- υπηρεσία
- Υπηρεσίες
- σειρά
- τον καθορισμό
- θα πρέπει να
- δείχνουν
- παρόμοιες
- Απλούς
- Singapore
- So
- λογισμικό
- ανάπτυξη λογισμικού
- τεχνολογία λογισμικού
- λύση
- Λύσεις
- μερικοί
- Πηγή
- καθορίζεται
- ταχύτητα
- ξοδεύει
- σωρός
- Εκκίνηση
- ξεκίνησε
- ξεκινά
- Startups
- Βήμα
- Βήματα
- μετάδοση
- εξορθολογισμό
- Σπάγγος
- δομή
- τέτοιος
- σουίτα
- κατάλληλη
- ΠΕΡΙΛΗΨΗ
- υποστήριξη
- τραπέζι
- Πάρτε
- λήψη
- ομάδες
- Τεχνικός
- Τεχνολογία
- πρότυπο
- δοκιμή
- δοκιμές
- από
- ότι
- Η
- ο κόσμος
- τους
- Τους
- Εκεί.
- Αυτοί
- αυτοί
- αυτό
- εκείνοι
- τρία
- Μέσω
- σφίγγει
- ώρα
- χρονοβόρος
- χρονοδιαγράμματα
- με τίτλο
- προς την
- μαζι
- εργαλείο
- εργαλεία
- μεταμορφωτικός
- Διαφάνεια
- ενεργοποιήθηκε
- προσπαθώ
- δύο
- τυπικός
- κατανόηση
- μονάδα
- Ενημέρωση
- ενημερώθηκε
- URL
- us
- χρήση
- περίπτωση χρήσης
- μεταχειρισμένος
- Χρήστες
- χρησιμοποιεί
- χρησιμοποιώντας
- v1
- αξία
- διάφορα
- επαληθεύει
- εκδοχή
- μέσω
- τόμος
- vs
- ευπάθεια
- ήταν
- we
- ιστός
- διαδικτυακές υπηρεσίες
- ΛΟΙΠΌΝ
- ήταν
- πότε
- Ποιό
- ευρύς
- Ευρύ φάσμα
- θα
- με
- εντός
- χωρίς
- Εργασία
- ροής εργασίας
- εργαζόμενος
- λειτουργεί
- κόσμος
- X
- γιαμ
- Εσείς
- Σας
- zephyrnet