W świecie tworzenia oprogramowania przegląd i zatwierdzanie kodu to ważne procesy zapewniające jakość, bezpieczeństwo i funkcjonalność tworzonego oprogramowania. Jednakże menedżerowie, którym powierzono nadzorowanie tych krytycznych procesów, często stają przed wieloma wyzwaniami, takimi jak następujące:
- Brak wiedzy technicznej – Menedżerowie mogą nie posiadać dogłębnej wiedzy technicznej na temat używanego języka programowania lub mogą nie zajmować się inżynierią oprogramowania przez dłuższy czas. Powoduje to lukę w wiedzy, która może utrudnić im dokładną ocenę wpływu i zasadności proponowanych zmian w kodzie.
- Ograniczenia czasowe – Przegląd i zatwierdzenie kodu może być procesem czasochłonnym, szczególnie w przypadku większych i bardziej złożonych projektów. Menedżerowie muszą zachować równowagę pomiędzy dokładnością przeglądu a presją dotrzymania terminów projektu.
- Liczba żądań zmian – Radzenie sobie z dużą liczbą żądań zmian jest częstym wyzwaniem dla menedżerów, zwłaszcza jeśli nadzorują wiele zespołów i projektów. Podobnie jak w przypadku ograniczenia czasowego, menedżerowie muszą być w stanie skutecznie obsługiwać te żądania, aby nie hamować postępu projektu.
- Wysiłek ręczny – Przegląd kodu wymaga ręcznego wysiłku menedżerów, a brak automatyzacji może utrudniać skalowanie procesu.
- Dokumenty – Właściwa dokumentacja procesu przeglądu i zatwierdzania kodu jest ważna dla przejrzystości i odpowiedzialności.
Wraz z rozwojem generatywna sztuczna inteligencja (AI) menedżerowie mogą teraz wykorzystać tę rewolucyjną technologię i zintegrować ją z pakietem narzędzi i usług wdrożeniowych AWS, aby usprawnić proces przeglądu i zatwierdzania w sposób, który wcześniej nie był możliwy. W tym poście omawiamy rozwiązanie oferujące zintegrowany, kompleksowy przepływ pracy wdrożeniowy, który obejmuje automatyczną analizę i podsumowanie zmian wraz z funkcją przepływu pracy zatwierdzania. Używamy Amazońska skała macierzysta, w pełni zarządzana usługa, która udostępnia modele podstawowe (FM) wiodących start-upów AI i Amazon za pośrednictwem interfejsu API, dzięki czemu możesz wybierać spośród szerokiej gamy FM, aby znaleźć model najlepiej dopasowany do Twojego przypadku użycia. Dzięki bezserwerowemu rozwiązaniu Amazon Bedrock możesz szybko rozpocząć pracę, prywatnie dostosowywać FM za pomocą własnych danych oraz integrować i wdrażać je w swoich aplikacjach za pomocą narzędzi AWS bez konieczności zarządzania jakąkolwiek infrastrukturą.
Omówienie rozwiązania
Poniższy schemat ilustruje architekturę rozwiązania.
Przepływ pracy składa się z następujących kroków:
- Programista wypycha nowe zmiany w kodzie do swojego repozytorium kodu (takie jak Zatwierdzenie kodu AWS), co automatycznie uruchamia rozpoczęcie AWS Code Pipeline rozlokowanie.
- Kod aplikacji przechodzi proces budowania kodu, skanuje podatności i przeprowadza testy jednostkowe przy użyciu preferowanych narzędzi.
- Tworzenie kodu AWS pobiera repozytorium i wykonuje polecenie git show w celu wyodrębnienia różnic w kodzie pomiędzy bieżącą wersją zatwierdzenia a poprzednią wersją zatwierdzenia. Daje to wynik wiersz po wierszu wskazujący zmiany w kodzie wprowadzone w tej wersji.
- CodeBuild zapisuje dane wyjściowe w pliku Amazon DynamoDB tabela z dodatkowymi informacjami referencyjnymi:
- Identyfikator uruchomienia CodePipeline
- Region AWS
- Nazwa CodePipeline
- Numer kompilacji CodeBuild
- Data i czas
- Rynek
- Strumienie Amazon DynamoDB przechwytuje modyfikacje danych zrobione do stołu.
- An AWS Lambda funkcja jest wyzwalana przez strumień DynamoDB w celu przetworzenia przechwyconego rekordu.
- Funkcja wywołuje model Anthropic Claude v2 na Amazon Bedrock za pośrednictwem Amazon Bedrock InvokeModel API dzwonić. Różnice w kodzie wraz z podpowiedzią są dostarczane jako dane wejściowe do modelu do analizy, a podsumowanie zmian w kodzie jest zwracane jako dane wyjściowe.
- Dane wyjściowe modelu są zapisywane z powrotem w tej samej tabeli DynamoDB.
- Menedżer jest powiadamiany za pośrednictwem Prosta usługa e-mail Amazon (Amazon SES) podsumowania zmian w kodzie i że ich zatwierdzenie jest wymagane do wdrożenia.
- Menedżer przegląda wiadomość e-mail i przekazuje swoją decyzję (zatwierdzenie lub odrzucenie) wraz z wszelkimi komentarzami do recenzji za pośrednictwem konsoli CodePipeline.
- Decyzja o zatwierdzeniu i komentarze z przeglądu są rejestrowane przez Most zdarzeń Amazona, co wyzwala funkcję Lambda, która zapisuje je z powrotem w DynamoDB.
- Po zatwierdzeniu potok wdraża kod aplikacji przy użyciu preferowanych narzędzi. Jeśli zostanie odrzucony, przepływ pracy zostanie zakończony, a wdrożenie nie będzie kontynuowane.
W poniższych sekcjach wdrażasz rozwiązanie i sprawdzasz kompleksowy przepływ pracy.
Wymagania wstępne
Aby postępować zgodnie z instrukcjami zawartymi w tym rozwiązaniu, potrzebne są następujące wymagania wstępne:
Wdróż rozwiązanie
Aby wdrożyć rozwiązanie, wykonaj następujące czynności:
- Dodaj Uruchom stos aby uruchomić stos CloudFormation
us-east-1
: - W razie zamówieenia projektu EmailAddress, wpisz adres e-mail, do którego masz dostęp. Podsumowanie zmian w kodzie zostanie wysłane na ten adres e-mail.
- W razie zamówieenia projektu identyfikator modelu, pozostaw domyślny plik anthropic.claude-v2, który jest modelem Anthropic Claude v2.
Wdrożenie szablonu zajmie około 4 minut.
- Kiedy otrzymasz wiadomość e-mail od Amazon SES w celu zweryfikowania Twojego adresu e-mail, wybierz podany link, aby autoryzować swój adres e-mail.
- Otrzymasz wiadomość e-mail zatytułowaną „Podsumowanie zmian” dotyczącą wstępnego zatwierdzenia przykładowego repozytorium w CodeCommit.
- W konsoli AWS CloudFormation przejdź do Wyjścia zakładka wdrożonego stosu.
- Skopiuj wartość RepoCloneURL. Potrzebujesz tego, aby uzyskać dostęp do repozytorium przykładowego kodu.
Przetestuj rozwiązanie
Możesz przetestować przepływ pracy od początku do końca, wcielając się w rolę programisty i wprowadzając pewne zmiany w kodzie. W CodeCommit przygotowaliśmy dla Ciebie zestaw przykładowych kodów. Do uzyskaj dostęp do repozytorium CodeCommitwprowadź następujące polecenia w swoim IDE:
Znajdziesz następującą strukturę katalogów dla pliku Zestaw programistyczny AWS Cloud (AWS CDK), która tworzy funkcję Lambda w celu przeprowadzenia sortowania bąbelkowego na ciągu liczb całkowitych. Funkcja Lambda jest dostępna poprzez publicznie dostępny adres URL.
Dokonujesz trzech zmian w kodach aplikacji.
- Aby ulepszyć funkcję tak, aby obsługiwała zarówno algorytm szybkiego sortowania, jak i sortowania bąbelkowego, należy pobrać parametr umożliwiający wybór algorytmu do użycia i zwrócić na wyjściu zarówno użyty algorytm, jak i posortowaną tablicę, zastąpić całą zawartość
lambda/index.py
z następującym kodem:
- Aby zmniejszyć ustawienie limitu czasu funkcji z 10 minut do 5 sekund (ponieważ nie spodziewamy się, że funkcja będzie działać dłużej niż kilka sekund), zaktualizuj linię 47 w
my_sample_project/my_sample_project_stack.py
w sposób następujący:
- Aby ograniczyć wywoływanie funkcji przy użyciu uprawnień IAM w celu zwiększenia bezpieczeństwa, zaktualizuj linię 56 in
my_sample_project/my_sample_project_stack.py
w sposób następujący:
- Wprowadź zmiany w kodzie, wprowadzając następujące polecenia:
Spowoduje to rozpoczęcie przepływu pracy wdrażania CodePipeline od kroków 1–9, jak opisano w omówieniu rozwiązania. Przywołując model Amazon Bedrock, wyświetliliśmy następujący monit:
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/enhance-code-review-and-approval-efficiency-with-generative-ai-using-amazon-bedrock/
- :ma
- :Jest
- :nie
- $W GÓRĘ
- 1
- 10
- 100
- 11
- 17
- 200
- 27
- 58
- 7
- 8
- 9
- a
- Zdolny
- O nas
- przyśpieszyć
- dostęp
- dostępny
- odpowiedzialność
- dokładnie
- Osiągać
- faktycznie
- w dodatku
- dodatek
- Dodatkowy
- adres
- Dodaje
- Korzyść
- AI
- algorytm
- Algorytmy
- dopuszczać
- wzdłuż
- Amazonka
- Amazon Web Services
- an
- analizuje
- analiza
- w czasie rzeczywistym sprawiają,
- i
- Antropiczny
- każdy
- api
- Aplikacja
- Zastosowanie
- aplikacje
- zatwierdzenie
- Zatwierdzać
- zatwierdzony
- architektura
- SĄ
- na około
- Szyk
- sztuczny
- AS
- oszacować
- pomagać
- Asystent
- atrybuty
- zwiększona
- uwierzytelniony
- Uwierzytelnianie
- autoryzować
- zautomatyzowane
- automatycznie
- Automatyzacja
- dostępny
- AWS
- Tworzenie chmury AWS
- z powrotem
- Bilans
- na podstawie
- BE
- bo
- być
- jest
- BEST
- pomiędzy
- ciało
- obie
- przynieść
- bańka
- budować
- Budowanie
- by
- wezwanie
- CAN
- Może uzyskać
- Zajęte
- walizka
- CD
- wyzwanie
- wyzwania
- zmiana
- zmieniony
- Zmiany
- Dodaj
- kleń
- Chmura
- kod
- Przegląd kodu
- Kody
- komentarze
- popełnić
- wspólny
- kompletny
- kompleks
- zwięzły
- Prowadzenie
- prowadzi
- Konsekwencje
- Rozważania
- składa się
- Konsola
- zawartość
- kontekst
- stworzony
- tworzy
- krytyczny
- Aktualny
- dostosować
- dane
- córka
- czynienia
- decyzja
- Domyślnie
- zdefiniowane
- rozwijać
- wdrażane
- wdrażanie
- Wdrożenie
- wdraża się
- Wnętrze
- życzenia
- Detailing
- Ustalać
- rozwinięty
- Deweloper
- oprogramowania
- schemat
- Różnice
- różne
- trudny
- katalog
- dokumentacja
- robi
- nie
- czas trwania
- łatwość
- efektywność
- skutecznie
- wysiłek
- bądź
- więcej
- zakończenia
- koniec końców
- kończy się
- Inżynieria
- wzmacniać
- zapewnienie
- Wchodzę
- wprowadzenie
- Cały
- Środowisko
- szczególnie
- wydarzenie
- przykład
- Z wyjątkiem
- oczekiwać
- doświadczenie
- eksperymenty
- odkryj
- odkrywa
- dużym
- wyciąg
- Twarz
- w obliczu
- członków Twojej rodziny
- kilka
- budżetowy
- Instytucje finansowe
- Znajdź
- Elastyczność
- obserwuj
- następujący
- następujący sposób
- W razie zamówieenia projektu
- Fundacja
- Darmowy
- od
- w pełni
- funkcjonować
- funkcjonalny
- Funkcjonalność
- dalej
- szczelina
- wygenerowane
- generatywny
- generatywna sztuczna inteligencja
- otrzymać
- miejsce
- git
- Go
- Goes
- większy
- poradnictwo
- uchwyt
- uprząż
- Have
- mający
- he
- Wysoki
- wysoko
- jego
- przytrzymaj
- W jaki sposób
- Jednak
- HTML
- http
- HTTPS
- człowiek
- i
- ID
- if
- ilustruje
- Rezultat
- realizacja
- wykonawczych
- implikacje
- ważny
- podnieść
- in
- informacje
- zawiera
- wskaźnik
- wskazuje
- Informacja
- Infrastruktura
- początkowy
- wkład
- instytucje
- instrukcje
- integrować
- zintegrowany
- Integruje się
- najnowszych
- Przedstawia
- inwokuje
- zaangażowany
- IT
- json
- Wiedzieć
- wiedza
- Brak
- język
- większe
- uruchomić
- prowadzący
- Pozostawiać
- mniej
- niech
- Linia
- LINK
- Lista
- dłużej
- zrobiony
- Główny
- poważny
- robić
- WYKONUJE
- zarządzanie
- zarządzane
- kierownik
- Zarządzający
- sposób
- podręcznik
- Może..
- Oznaczało
- Poznaj nasz
- Metadane
- może
- minut
- model
- modele
- Modyfikacje
- jeszcze
- większość
- wielokrotność
- Nawigacja
- Potrzebować
- Nowości
- Następny
- Nie
- żaden
- już dziś
- z naszej
- liczny
- of
- Oferty
- często
- on
- tylko
- or
- Inne
- Inaczej
- na zewnątrz
- opisane
- wydajność
- zewnętrzne
- ogólny
- nadzorowanie
- przegląd
- własny
- parametr
- w oczekiwaniu
- wykonać
- wykonuje
- okres
- rurociąg
- Pivot
- plato
- Analiza danych Platona
- PlatoDane
- możliwy
- Post
- potencjał
- power
- Korzystny
- przygotowany
- warunki wstępne
- nacisk
- poprzedni
- poprzednio
- kontynuować
- wygląda tak
- procesów
- produkować
- produkuje
- Profil
- Programowanie
- Postęp
- projekt
- projektowanie
- monity
- właściwy
- zaproponowane
- zapewniać
- pod warunkiem,
- zapewnia
- publicznie
- cel
- wypycha
- Popychanie
- jakość
- pytanie
- Szybki
- szybko
- zasięg
- otrzymać
- rekord
- zmniejszyć
- Zredukowany
- zmniejsza
- odniesienie
- Odrzucony..
- zwolnić
- obsługi produkcji rolnej, która zastąpiła
- składnica
- wywołań
- wymagany
- wymagania
- Wymaga
- Zasoby
- odpowiedź
- ograniczać
- Efekt
- powrót
- powraca
- przeglądu
- Recenzje
- Rosnąć
- Rola
- run
- s
- taki sam
- próba
- Zapisz
- zapisywane
- skalowalny
- Skala
- skany
- sekund
- działy
- bezpieczne
- bezpieczeństwo
- wybór
- senior
- wysłany
- Bezserwerowe
- usługa
- Usługi
- zestaw
- ustawienie
- powinien
- pokazać
- podobny
- Prosty
- Singapur
- So
- Tworzenie
- rozwoju oprogramowania
- Inżynieria oprogramowania
- rozwiązanie
- Rozwiązania
- kilka
- Źródło
- określony
- prędkość
- spędza
- stos
- początek
- rozpoczęty
- rozpocznie
- Startups
- Ewolucja krok po kroku
- Cel
- strumień
- opływowy
- sznur
- Struktura
- taki
- apartament
- w kolorze
- PODSUMOWANIE
- wsparcie
- stół
- Brać
- biorąc
- Zespoły
- Techniczny
- Technologia
- szablon
- test
- Testy
- niż
- że
- Połączenia
- świat
- ich
- Im
- Tam.
- Te
- one
- to
- tych
- trzy
- Przez
- zaciska się
- czas
- czasochłonne
- terminy
- pod tytulem
- do
- razem
- narzędzie
- narzędzia
- transformacyjny
- Przezroczystość
- rozsierdzony
- próbować
- drugiej
- typowy
- zrozumienie
- jednostka
- Aktualizacja
- zaktualizowane
- URL
- us
- posługiwać się
- przypadek użycia
- używany
- Użytkownicy
- zastosowania
- za pomocą
- v1
- wartość
- różnorodny
- zweryfikować
- wersja
- przez
- Tom
- vs
- wrażliwość
- była
- we
- sieć
- usługi internetowe
- DOBRZE
- były
- jeśli chodzi o komunikację i motywację
- który
- szeroki
- Szeroki zasięg
- będzie
- w
- w ciągu
- bez
- Praca
- workflow
- pracujący
- działa
- świat
- X
- jamla
- You
- Twój
- zefirnet