בעולם פיתוח התוכנה, סקירת קוד ואישור הם תהליכים חשובים להבטחת האיכות, האבטחה והפונקציונליות של התוכנה המפותחת. עם זאת, מנהלים המוטלים עליהם לפקח על תהליכים קריטיים אלו מתמודדים לעתים קרובות עם אתגרים רבים, כגון:
- חוסר מומחיות טכנית - ייתכן שלמנהלים אין הבנה טכנית מעמיקה של שפת התכנות שבה נעשה שימוש או שלא היו מעורבים בהנדסת תוכנה במשך תקופה ממושכת. כתוצאה מכך נוצר פער ידע שיכול להקשות עליהם להעריך במדויק את ההשפעה והתקינות של שינויי הקוד המוצעים.
- מגבלות זמן - סקירת קוד ואישור יכולים להיות תהליך שלוקח זמן, במיוחד בפרויקטים גדולים יותר או מורכבים יותר. מנהלים צריכים לאזן בין יסודיות הביקורת לעומת הלחץ לעמוד בלוחות הזמנים של הפרויקט.
- נפח בקשות שינוי - התמודדות עם נפח גבוה של בקשות שינוי הוא אתגר שכיח למנהלים, במיוחד אם הם מפקחים על צוותים ופרויקטים מרובים. בדומה לאתגר של אילוץ זמן, מנהלים צריכים להיות מסוגלים לטפל בבקשות אלה ביעילות כדי לא לעכב את התקדמות הפרויקט.
- מאמץ ידני – סקירת קוד דורשת מאמץ ידני של המנהלים, והיעדר אוטומציה יכול להקשות על קנה המידה של התהליך.
- תיעוד - תיעוד נכון של תהליך סקירת הקוד ואישורו חשוב לשקיפות ואחריות.
עם עלייתו של בינה מלאכותית גנרטיבית (AI), מנהלים יכולים כעת לרתום את הטכנולוגיה הטרנספורמטיבית הזו ולשלב אותה עם חבילת כלי הפריסה והשירותים של AWS כדי לייעל את תהליך הבדיקה והאישור באופן שלא היה אפשרי קודם לכן. בפוסט זה, אנו בוחנים פתרון המציע זרימת עבודה משולבת של פריסה מקצה לקצה המשלבת ניתוח וסיכום שינויים אוטומטיים יחד עם פונקציונליות של זרימת עבודה של אישור. אנו משתמשים סלע אמזון, שירות מנוהל במלואו שהופך מודלים בסיסיים (FM) מסטארט-אפים מובילים בינה מלאכותית ואמזון לזמינים באמצעות API, כך שתוכל לבחור מתוך מגוון רחב של FMs כדי למצוא את הדגם המתאים ביותר למקרה השימוש שלך. עם חוויית Amazon Bedrock ללא שרתים, אתה יכול להתחיל במהירות, להתאים אישית FMs עם הנתונים שלך, ולשלב ולפרוס אותם באפליקציות שלך באמצעות כלי AWS מבלי שתצטרך לנהל תשתית כלשהי.
סקירת פתרונות
התרשים הבא ממחיש את ארכיטקטורת הפתרונות.
זרימת העבודה מורכבת מהשלבים הבאים:
- מפתח דוחף שינויי קוד חדשים למאגר הקוד שלו (כגון AWS CodeCommit), אשר מפעיל אוטומטית את ההתחלה של an קוד צינור AWS פריסה.
- קוד האפליקציה עובר תהליך בניית קוד, מבצע סריקות פגיעות ועורך בדיקות יחידות באמצעות הכלים המועדפים עליך.
- בניית קוד AWS מאחזר את המאגר ומבצע פקודת git show כדי לחלץ את הבדלי הקוד בין גרסת ה-commit הנוכחית לגרסת ה-commit הקודמת. זה מייצר פלט שורה אחר שורה המציין את שינויי הקוד שבוצעו במהדורה זו.
- CodeBuild שומר את הפלט ב-an אמזון דינמו טבלה עם מידע עזר נוסף:
- מזהה ריצת CodePipeline
- אזור AWS
- שם CodePipeline
- מספר בניית CodeBuild
- תאריך ושעה
- מצב
- זרמי דינמו-די-בי אמזון לוכד את שינויי הנתונים עשה לשולחן.
- An AWS למבדה הפונקציה מופעלת על ידי זרם DynamoDB כדי לעבד את הרשומה שנלכדה.
- הפונקציה מפעילה את המודל Anthropic Claude v2 על Amazon Bedrock דרך Amazon Bedrock InvokeModel API שִׂיחָה. הבדלי הקוד, יחד עם הנחיה, מסופקים כקלט למודל לצורך ניתוח, וסיכום של שינויים בקוד מוחזר כפלט.
- הפלט מהמודל נשמר בחזרה לאותה טבלת DynamoDB.
- המנהל מקבל הודעה באמצעות שירות דוא"ל פשוט של אמזון (Amazon SES) של סיכום השינויים בקוד וכי נדרש אישורם לפריסה.
- המנהל סוקר את האימייל ומספק את החלטתו (או לאשר או לדחות) יחד עם הערות ביקורת דרך קונסולת CodePipeline.
- החלטת האישור והערות הביקורת נלכדות על ידי אמזון EventBridge, אשר מפעילה פונקציית Lambda כדי לשמור אותם בחזרה ל-DynamoDB.
- אם תאושר, הצינור פורס את קוד היישום באמצעות הכלים המועדפים עליך. אם נדחה, זרימת העבודה מסתיימת והפריסה לא ממשיכה.
בסעיפים הבאים, אתה פורס את הפתרון ומאמת את זרימת העבודה מקצה לקצה.
תנאים מוקדמים
כדי לבצע את ההוראות בפתרון זה, אתה צריך את התנאים המוקדמים הבאים:
פרוס את הפתרון
כדי לפרוס את הפתרון, בצע את השלבים הבאים:
- בחרו השקת ערימה כדי להשיק מחסנית CloudFormation
us-east-1
: - בעד כתובת דוא"ל, הזן כתובת אימייל שיש לך גישה אליה. סיכום השינויים בקוד יישלח לכתובת דוא"ל זו.
- בעד modelId, השאירו כברירת מחדל את anthropic.claude-v2, שהוא הדגם Anthropic Claude v2.
פריסת התבנית תימשך כ-4 דקות.
- כאשר אתה מקבל אימייל מאמזון SES כדי לאמת את כתובת הדוא"ל שלך, בחר בקישור שסופק כדי לאשר את כתובת הדוא"ל שלך.
- תקבל אימייל שכותרתו "סיכום השינויים" עבור ההתחייבות הראשונית של מאגר הדוגמאות לתוך CodeCommit.
- במסוף AWS CloudFormation, נווט אל יציאות לשונית של הערימה הפרוסה.
- העתק את הערך של RepoCloneURL. אתה צריך את זה כדי לגשת למאגר הקוד לדוגמה.
בדוק את הפתרון
אתה יכול לבדוק את זרימת העבודה מקצה לקצה על ידי נטילת תפקיד של מפתח ודחיפה של כמה שינויים בקוד. ערכה של קודים לדוגמה הוכנה עבורך ב-CodeCommit. ל לגשת למאגר CodeCommit, הזן את הפקודות הבאות ב-IDE שלך:
תמצא את מבנה הספריות הבא עבור an ערכת פיתוח ענן AWS (AWS CDK) אפליקציה שיוצרת פונקציית Lambda לביצוע מיון בועות על מחרוזת של מספרים שלמים. פונקציית Lambda נגישה דרך כתובת אתר זמינה לציבור.
אתה מבצע שלושה שינויים בקודי האפליקציה.
- כדי לשפר את הפונקציה כדי לתמוך באלגוריתם מיון מהיר וגם באלגוריתם מיון בועות, קח פרמטר שיאפשר את בחירת האלגוריתם לשימוש, והחזר גם את האלגוריתם בשימוש וגם את המערך הממוין בפלט, החלף את כל התוכן של
lambda/index.py
עם הקוד הבא:
- כדי להפחית את הגדרת הזמן הקצוב של הפונקציה מ-10 דקות ל-5 שניות (מכיוון שאיננו מצפים שהפונקציה תפעל יותר ממספר שניות), עדכן את שורה 47 ב-
my_sample_project/my_sample_project_stack.py
באופן הבא:
- כדי להגביל את הפעלת הפונקציה באמצעות IAM לאבטחה נוספת, עדכן שורה 56 ב
my_sample_project/my_sample_project_stack.py
באופן הבא:
- לחץ על שינויי הקוד על ידי הזנת הפקודות הבאות:
זה מתחיל את תהליך הפריסה של CodePipeline משלבים 1-9 כפי שמתואר בסקירת הפתרון. בעת הפעלת מודל אמזון היסוד, סיפקנו את ההנחיה הבאה:
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/enhance-code-review-and-approval-efficiency-with-generative-ai-using-amazon-bedrock/
- :יש ל
- :הוא
- :לֹא
- $ למעלה
- 1
- 10
- 100
- 11
- 17
- 200
- 27
- 58
- 7
- 8
- 9
- a
- יכול
- אודות
- להאיץ
- גישה
- נגיש
- דין וחשבון
- במדויק
- להשיג
- למעשה
- הוסיף
- תוספת
- נוסף
- כתובת
- מוסיף
- יתרון
- AI
- אַלגוֹרִיתְם
- אלגוריתמים
- להתיר
- לאורך
- אמזון בעברית
- אמזון שירותי אינטרנט
- an
- מנתח
- אנליזה
- לנתח
- ו
- אנתרופי
- כל
- API
- האפליקציה
- בקשה
- יישומים
- הסכמה
- לאשר
- מאושר
- ארכיטקטורה
- ARE
- סביב
- מערך
- מלאכותי
- AS
- לְהַעֲרִיך
- לעזור
- עוזר
- תכונות
- מוגבר
- מאומת
- אימות
- לאשר
- אוטומטי
- באופן אוטומטי
- אוטומציה
- זמין
- AWS
- AWS CloudFormation
- בחזרה
- איזון
- מבוסס
- BE
- כי
- היה
- להיות
- הטוב ביותר
- בֵּין
- גוּף
- שניהם
- להביא
- בועה
- לִבנוֹת
- בִּניָן
- by
- שיחה
- CAN
- יכול לקבל
- נתפס
- מקרה
- CD
- לאתגר
- האתגרים
- שינוי
- השתנה
- שינויים
- בחרו
- לְנַקוֹת
- ענן
- קוד
- ביקורת קוד
- קודים
- הערות
- לבצע
- Common
- להשלים
- מורכב
- תמציתית
- לנהל
- מנצח
- השלכות
- שיקולים
- מורכב
- קונסול
- תוכן
- הקשר
- נוצר
- יוצר
- קריטי
- נוֹכְחִי
- אישית
- נתונים
- בת
- התמודדות
- החלטה
- בְּרִירַת מֶחדָל
- מוגדר
- לפרוס
- פרס
- פריסה
- פריסה
- פורס
- עיצוב
- רצוי
- טיפוח לרכב
- לקבוע
- מפותח
- מפתח
- צעצועי התפתחות
- תרשים
- ההבדלים
- אחר
- קשה
- בספרייה
- תיעוד
- עושה
- לא
- משך
- להקל
- יְעִילוּת
- יעילות
- מאמץ
- או
- אחר
- אמייל
- סוף
- מקצה לקצה
- מסתיים
- הנדסה
- להגביר את
- הבטחתי
- זן
- הזנת
- שלם
- סביבה
- במיוחד
- אירוע
- דוגמה
- אלא
- לצפות
- ניסיון
- ניסויים
- לחקור
- חוקר
- מוּרחָב
- תמצית
- פָּנִים
- מתמודד
- משפחה
- מעטים
- כספי
- גופים פיננסיים
- גמישות
- לעקוב
- הבא
- כדלקמן
- בעד
- קרן
- חופשי
- החל מ-
- לגמרי
- פונקציה
- פונקציונלי
- פונקציונלי
- נוסף
- פער
- נוצר
- גנרטטיבית
- AI Generative
- לקבל
- מקבל
- Git
- Go
- Goes
- יותר
- הדרכה
- לטפל
- רתמת
- יש
- יש
- he
- גָבוֹהַ
- מאוד
- שֶׁלוֹ
- להחזיק
- איך
- אולם
- HTML
- http
- HTTPS
- בן אנוש
- i
- ID
- if
- מדגים
- פְּגִיעָה
- הפעלה
- יישום
- השלכות
- חשוב
- לשפר
- in
- מעמיק
- משלבת
- מדד
- מצביע על
- מידע
- תשתית
- בתחילה
- קלט
- מוסדות
- הוראות
- לשלב
- משולב
- משלב
- אל תוך
- מציג
- מעורר
- מעורב
- IT
- ג'סון
- לדעת
- ידע
- חוסר
- שפה
- גדול יותר
- לשגר
- מוביל
- יציאה
- פחות
- לתת
- קו
- קשר
- לינקדין
- רשימה
- עוד
- עשוי
- ראשי
- גדול
- לעשות
- עושה
- לנהל
- הצליח
- מנהל
- מנהלים
- דרך
- מדריך ל
- מאי..
- התכוון
- לִפְגוֹשׁ
- מידע נוסף
- יכול
- דקות
- מודל
- מודלים
- שינויים
- יותר
- רוב
- מספר
- נווט
- צורך
- חדש
- הבא
- לא
- ללא חתימה
- עַכשָׁיו
- מספרים
- רב
- of
- המיוחדות שלנו
- לעתים קרובות
- on
- רק
- or
- אחר
- אַחֶרֶת
- הַחוּצָה
- המתואר
- תפוקה
- בחוץ
- מקיף
- הַשׁגָחָה
- סקירה
- שֶׁלוֹ
- פרמטר
- תלוי ועומד
- לְבַצֵעַ
- מבצע
- תקופה
- צינור
- Pivot
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- אפשרי
- הודעה
- פוטנציאל
- כּוֹחַ
- מועדף
- מוּכָן
- תנאים מוקדמים
- לחץ
- קודם
- קוֹדֶם
- להמשיך
- תהליך
- תהליכים
- לייצר
- ייצור
- פּרוֹפִיל
- תכנות
- התקדמות
- פּרוֹיֶקט
- פרויקטים
- הנחיות
- תָקִין
- מוּצָע
- לספק
- ובלבד
- מספק
- בפומבי
- מטרה
- דוחף
- דוחף
- איכות
- שאלה
- מָהִיר
- מהירות
- רכס
- לקבל
- שיא
- להפחית
- מופחת
- מפחית
- הפניה
- נִדחֶה..
- לשחרר
- להחליף
- מאגר
- בקשות
- נדרש
- דרישות
- דורש
- משאבים
- תגובה
- לְהַגבִּיל
- תוצאות
- לַחֲזוֹר
- החזרות
- סקירה
- חוות דעת של לקוחותינו
- לעלות
- תפקיד
- הפעלה
- s
- אותו
- לִטעוֹם
- שמור
- הציל
- להרחבה
- סולם
- סריקות
- שניות
- סעיפים
- לבטח
- אבטחה
- מבחר
- לחצני מצוקה לפנסיונרים
- נשלח
- ללא שרת
- שרות
- שירותים
- סט
- הצבה
- צריך
- לְהַצִיג
- דומה
- פָּשׁוּט
- סינגפור
- So
- תוכנה
- פיתוח תוכנה
- הנדסת תוכנה
- פִּתָרוֹן
- פתרונות
- כמה
- מָקוֹר
- מפורט
- מְהִירוּת
- מבלה
- לערום
- התחלה
- החל
- התחלות
- חברות סטארט
- שלב
- צעדים
- זרם
- לייעל
- מחרוזת
- מִבְנֶה
- כזה
- מערכת
- מתאים
- סיכום
- תמיכה
- שולחן
- לקחת
- נטילת
- צוותי
- טכני
- טכנולוגיה
- תבנית
- מבחן
- בדיקות
- מֵאֲשֶׁר
- זֶה
- השמיים
- העולם
- שֶׁלָהֶם
- אותם
- שם.
- אלה
- הֵם
- זֶה
- אלה
- שְׁלוֹשָׁה
- דרך
- מתהדק
- זמן
- דורש זמן רב
- צירי זמן
- שכותרתו
- ל
- יַחַד
- כלי
- כלים
- טרנספורמטיבית
- שקיפות
- מופעל
- לנסות
- שתיים
- טיפוסי
- הבנה
- יחידה
- עדכון
- מְעוּדכָּן
- כתובת האתר
- us
- להשתמש
- במקרה להשתמש
- מְשׁוּמָשׁ
- משתמשים
- שימושים
- באמצעות
- v1
- ערך
- שונים
- לאמת
- גרסה
- באמצעות
- כֶּרֶך
- vs
- פגיעות
- היה
- we
- אינטרנט
- שירותי אינטרנט
- טוֹב
- היו
- מתי
- אשר
- רָחָב
- טווח רחב
- יצטרך
- עם
- בתוך
- לְלֹא
- תיק עבודות
- זרימת עבודה
- עובד
- עובד
- עוֹלָם
- X
- יאמל
- אתה
- זפירנט