פריסת אפליקציה באמצעות Gemini CLI וכישורי CI/CD

1. מבוא

בשיעור Codelab הזה תכירו את תהליך העבודה של הנדסת פלטפורמה באמצעות Gemini CLI והתוסף CI/CD. אתם תגלמו מפתח תוכנה ארגוני שפיתח אפליקציה (כמו הדמו של Spring Petclinic או אפליקציית Python Flask) ועכשיו רוצה לפרוס אותה ב-Google Cloud כדי לשתף אותה.

במקום להגדיר באופן ידני צינורות מורכבים, תוכלו להשתמש בשפה טבעית כדי להנחות את Gemini. הסוכן ינתח את הפרויקט, יציע זמני ריצה קטנים כמו Google Cloud Run, יבצע סריקות אבטחה כדי לזהות סודות שנחשפו ויטפל בפריסה, ויספק לכם כתובת URL פעילה.

הפעולות שתבצעו:

  • משכפלים מאגר (אפשר להשתמש במאגר משלכם או באפליקציית הדגמה כמו Spring Petclinic).
  • מתקינים ומגדירים את Gemini CLI ואת התוסף CI/CD.
  • כדי להפעיל את מיומנות הפריסה, משתמשים בהנחיה כמו deploy my application.
  • תראו איך Gemini מנתח את הפרויקט, מציע את Cloud Run, מריץ בדיקות אבטחה ופורס את האפליקציה.
  • מאמתים את האפליקציה שפועלת.

הדרישות

  • דפדפן אינטרנט כמו Chrome.
  • פרויקט ב-Google Cloud שהחיוב בו מופעל.

שיעור ה-Codelab הזה מיועד למפתחים בכל הרמות, כולל מתחילים.

‫2. לפני שמתחילים

הגדרת חיוב

יוצרים פרויקט ב-Google Cloud או בוחרים פרויקט קיים.

יצירת פרויקט ב-Google Cloud

  1. במסוף Google Cloud, בדף לבחירת הפרויקט, בוחרים פרויקט ב-Google Cloud או יוצרים פרויקט.
  2. הקפידו לוודא שהחיוב מופעל בפרויקט שלכם ב-Cloud. כך בודקים אם החיוב מופעל בפרויקט

הפעלת Cloud Shell

Cloud Shell היא סביבת שורת פקודה שפועלת ב-Google Cloud וכוללת מראש את הכלים הנדרשים.

  1. לוחצים על Activate Cloud Shell בחלק העליון של מסוף Google Cloud.
  2. אחרי שמתחברים ל-Cloud Shell, מאמתים את האימות:
    gcloud auth list
    
  3. מוודאים שהפרויקט מוגדר:
    gcloud config get project
    
  4. אם הפרויקט לא מוגדר כמו שציפיתם, מגדירים אותו:
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

הפעלת ממשקי ה-API

מריצים את הפקודה הזו ב-Cloud Shell כדי להפעיל את כל ממשקי ה-API הנדרשים למעבדה הזו:

gcloud services enable \
  cloudbuild.googleapis.com \
  run.googleapis.com \
  artifactregistry.googleapis.com

3. הגדרה של Gemini CLI

בשלב הזה, תתקינו ותגדירו את Gemini CLI ואת תוסף ה-CI/CD.

  1. מוודאים ש-Gemini CLI מותקן. אם עדיין לא התקנתם אותו, אתם יכולים לפעול לפי ההוראות שבמדריך תחילת העבודה עם Gemini CLI.
  2. כניסה: מומלץ להיכנס באמצעות חשבון Google. פרטים נוספים זמינים במדריך האימות.
  3. מתקינים את התוסף CI/CD: מריצים את הפקודה הבאה כדי להתקין את התוסף מ-GitHub:
    gemini extensions install https://github.com/gemini-cli-extensions/cicd
    
    כדי לוודא שהתוסף הותקן, אפשר להציג רשימה של התוספים המותקנים:
    gemini extensions list
    
  4. הגדרת Application Default Credentials ‏ (ADC): התוסף CI/CD דורש הגדרה של ADC. הרצה:
    gcloud auth login
    gcloud auth application-default login
    
  5. הגדרת פרויקט ואזור ברירת מחדל: מומלץ להגדיר את gcloud עם פרויקט ברירת מחדל ופרויקט מכסה ל-ADC. מחליפים את בערכים בפועל (למשל, my-project):
    gcloud config set project <PROJECT_ID>
    gcloud auth application-default set-quota-project <PROJECT_ID>
    

4. פריסת האפליקציה

עכשיו אפשר להשתמש ב-Gemini CLI ובתוסף CI/CD כדי לפרוס את האפליקציה.

שכפול המאגר

בשיעור ה-Lab הזה נשתמש באפליקציה לדוגמה הפופולרית Spring Petclinic. אפשר גם להשתמש באפליקציה משלכם אם יש לכם אפליקציה מוכנה שמשתמשת בסביבת ריצה נתמכת (כמו Python/Flask,‏ Java/Spring Boot וכו').

  1. משכפלים את המאגר ועוברים לספרייה:
    git clone https://github.com/spring-projects/spring-petclinic.git
    cd spring-petclinic
    

הנחיה ל-Gemini לפרוס

  1. מפעילים את Gemini CLI מספריית הפרויקט:
    gemini
    
  2. אחרי שנכנסים למעטפת Gemini CLI, משתמשים בתוסף CI/CD כדי לפרוס את האפליקציה. אתם יכולים להשתמש בהנחיה פשוטה בשפה טבעית:
    deploy my application
    

מה השלב הבא?

‫Gemini יפעיל את מיומנות google-cicd-deploy ויבצע כמה פעולות:

  • Analyze the project (ניתוח הפרויקט): המערכת תזהה את סוג האפליקציה (למשל, Spring Boot).
  • הצעת זמן ריצה: המערכת תציע זמן ריצה מתאים, כמו Google Cloud Run.
  • סריקת אבטחה: הסריקה תתבצע לאיתור סודות שנחשפו באמצעות כלי ה-MCP. אם מוצגת בקשה, צריך לאפשר את הפעלת הכלים.
  • שליפת ההגדרה: המערכת תשתמש ב-gcloud כדי לקרוא את סביבת הפרויקט הנוכחית.
  • הצעת פרמטרים: המערכת תציג ערכי ברירת מחדל סבירים לפרמטרים של הפריסה ותבקש את האישור שלכם.

בודקים את ההגדרה המוצעת ומאשרים את הפריסה.

אחרי שהתהליך יסתיים, Gemini יספק לכם את כתובת ה-URL של האפליקציה הפעילה.

5. הסרת המשאבים

כדי להימנע מחיובים שוטפים בחשבון Google Cloud, מוחקים את המשאבים שנוצרו במהלך ה-codelab הזה.

אם פרסתם ב-Cloud Run, אתם יכולים למחוק את השירות באמצעות הפקודה הבאה (מחליפים את באזור החישוב, למשל us-central1):

gcloud run services delete spring-petclinic --region <REGION>

לחלופין, אם יצרתם פרויקט ייעודי בשביל ה-Codelab הזה, אתם יכולים למחוק את הפרויקט כולו:

gcloud projects delete <YOUR_PROJECT_ID>

6. מזל טוב

מעולה! השתמשתם בהצלחה ב-Gemini CLI ובתוסף CI/CD כדי לפרוס אפליקציה ב-Google Cloud Run באמצעות הנחיות בשפה טבעית.

מה למדתם

  • איך להתקין ולהגדיר את Gemini CLI ואת התוסף CI/CD.
  • איך משתמשים בשפה טבעית כדי להפעיל תהליך פריסה.
  • איך Gemini מנתח את הפרויקט, מבצע סריקות אבטחה ומציע סביבות זמן ריצה.

השלבים הבאים

מסמכי עזר