תכנון ופריסה של אפליקציה באמצעות Gemini CLI

אפשר להשתמש בשרתים של Model Context Protocol ‏ (MCP) של Gemini Cloud Assist ושל Application Design Center כדי לתכנן, לפרוס ולפתור בעיות בGoogle Cloud תשתית ישירות ב-Gemini CLI.

מטרות

במדריך הזה תלמדו:

  • הגדרת Gemini CLI לשימוש ב-Gemini Cloud Assist ובשרתי MCP של App Design Center.
  • תכנון ופריסה של תשתית מותאמת להרצת קוד האפליקציה הקיים. Google Cloud
  • לנתח בעיות טכניות ולפתור אותן.

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

  • App Design Center.
  • Google Cloud resources that you create as part of your application infrastructure.

כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.

לפני שמתחילים

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

  3. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  4. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  5. יוצרים או בוחרים Google Cloud פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Google Cloud פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Google Cloud שיוצרים.

    • בוחרים את הפרויקט שיצרתם: Google Cloud

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Google Cloud .

  6. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  7. התקינו את ה-CLI של Google Cloud.

  8. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  9. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  10. יוצרים או בוחרים Google Cloud פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Google Cloud פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Google Cloud שיוצרים.

    • בוחרים את הפרויקט שיצרתם: Google Cloud

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Google Cloud .

  11. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  12. כדי לגשת ל-Gemini Cloud Assist דרך MCP, אתם צריכים להיות חלק מתוכנית Trusted Tester. כדי לבקש גישה, צריך לפנות לצוות ניהול החשבון.
  13. מתקינים את Gemini CLI.
  14. כדי לפרוס ולהריץ פקודות ב-Gemini CLI, צריך לבקש מהאדמין להקצות לכם את התפקידים הנדרשים בתוך הגבולות של הפרויקט, כמו שמופיע בטבלה הבאה:
    משימה התפקידים הנדרשים
    הגדרה של App Design Center בפרויקט אדמין של Application Design Center (roles/designcenter.admin)
    גישה ל-Gemini Cloud Assist והפעלתו דרך MCP ‫Gemini Cloud Assist Admin ‏ (roles/geminicloudassist.admin),‏ Gemini Cloud Assist Editor ‏ (roles/geminicloudassist.editor) או Gemini Cloud Assist User ‏ (roles/geminicloudassist.user)

הכנת הסביבה

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

אימות ל Google Cloud

כדי לבצע אימות ל- Google Cloud , מריצים את הפקודה הבאה במסוף:

  1. מגדירים Application Default Credentials כדי לאפשר לשרתי ה-MCP לשלוח קריאות ל-API.

     gcloud auth application-default login
    

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

מפעילים את השירותים Gemini Cloud Assist ו-Application Design Center בפרויקט.

  1. מפעילים את שירות Gemini Cloud Assist בפרויקט:

     gcloud services enable geminicloudassist.googleapis.com
    
  2. מפעילים את שירות App Design Center בפרויקט:

     gcloud services enable designcenter.googleapis.com
    

הגדרת שרתי ה-MCP

שרתי ה-MCP של Gemini Cloud Assist ו-App Design Center עוזרים לכם לתכנן, להעריך, לפרוס ולפתור בעיות בתשתית באמצעות הנחיות בשפה טבעית. Google Cloudכדי להתחבר לשרתי ה-MCP, צריך להגדיר את ההגדרות של Gemini CLI.

כדי להגדיר את Gemini CLI לשימוש בשרתי MCP:

  1. פותחים את קובץ ההגדרות של Gemini CLI באחד מהמקומות הבאים:

    • היקף המשתמש: כדי להחיל את ההגדרות על כל הפרויקטים של Gemini CLI, פותחים את ~/.gemini/settings.json.
    • היקף Workspace: כדי להחיל הגדרות על פרויקט ספציפי ב-Gemini CLI, פותחים את .gemini/settings.json.

    אם קובץ ההגדרות לא קיים, צריך ליצור קובץ חדש.

  2. ב-settings.json, מוסיפים או ממזגים את בלוק ההגדרה הבא מתחת למקש mcpServers.

      {
        "mcpServers": {
          "gemini-cloud-assist": {
            "httpUrl": "https://geminicloudassist.googleapis.com/mcp",
            "authProviderType": "google_credentials",
            "oauth": {
              "scopes": ["https://www.googleapis.com/auth/cloud-platform"]
            },
            "timeout": 600000
          },
          "application-design-center": {
            "httpUrl": "https://designcenter.googleapis.com/mcp",
            "authProviderType": "google_credentials",
            "oauth": {
              "scopes": ["https://www.googleapis.com/auth/cloud-platform"]
            },
            "timeout": 600000
          }
        }
      }
    

    ההגדרה הזו משתמשת אוטומטית ב-Application Default Credentials.

  3. שומרים את קובץ ההגדרות וסוגרים אותו.

  4. מפעילים את Gemini CLI.

    gemini
    
  5. מוודאים ששרתי ה-MCP מחוברים.

    /mcp list
    

התקנת SKILL.md קבצים

קבצי SKILL.md מספקים לשרתי ה-MCP של App Design Center ו-Gemini Cloud Assist הוראות ותהליכי עבודה לעיצוב, לפריסה ולפתרון בעיות בתשתית.

כדי להוסיף קבצים ל-Gemini CLI:SKILL.md

  1. יוצרים ספרייה בשם skills/design-and-deploy באחד מהמיקומים הבאים:

    • היקף המשתמש: כדי להחיל את ההגדרות על כל הפרויקטים של Gemini CLI, יוצרים ~/.gemini/skills/design-and-deploy/.
    • היקף Workspace: כדי להחיל הגדרות על פרויקט ספציפי ב-Gemini CLI, יוצרים .gemini/skills/design-and-deploy/.
  2. בספרייה skills/design-and-deploy/, יוצרים קובץ SKILL.md באמצעות התוכן מתוך designing-and-deploying-infrastructure.

  3. יוצרים ספרייה בשם skills/google-gemini-cloud-assist באחד מהמיקומים הבאים:

    • היקף המשתמש: כדי להחיל את ההגדרות על כל הפרויקטים של Gemini CLI, יוצרים ~/.gemini/skills/google-gemini-cloud-assist/.
    • היקף Workspace: כדי להחיל הגדרות על פרויקט ספציפי ב-Gemini CLI, יוצרים .gemini/skills/google-gemini-cloud-assist/.
  4. בספרייה skills/google-gemini-cloud-assist/, יוצרים קובץ SKILL.md באמצעות התוכן מ-operating-google-cloud.

  5. יוצאים מ-Gemini CLI ומפעילים אותו מחדש.

    /quit
    

    כשמפעילים מחדש את Gemini CLI, הוא מזהה באופן אוטומטי את קובץ המיומנות.

  6. מוודאים שקובץ המיומנות זוהה אוטומטית.

    /skills list
    

הגדרתם בהצלחה את Gemini CLI להתחבר לשרתי MCP של App Design Center ו-Gemini Cloud Assist ויצרתם קובצי מיומנויות.

עיצוב התשתית Google Cloud

תכנון תשתית מותאמת לאחסון ולהרצה של קוד האפליקציה.

  1. מגדירים את הפרויקט שבו רוצים להשתמש:

    gcloud config set project PROJECT_ID
    
  2. לבקש את Google Cloud תכנון התשתית.

     My application code is in REPOSITORY_URL. Design the Google Cloud infrastructure required for my application.
    

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

  3. מאשרים את התוכנית.

    Continue with the plan.
    

    הסוכן מזהה כלים לשימוש ביצירת התשתית, והוא מבקש להשתמש בכלי setup_adc, שמגדיר את App Design Center בפרויקט שלכם.

  4. מאשרים ל-Gemini Cloud Assist להשתמש בכלים המוצעים.

    הנציג מציע עיצוב ושואל אם אתם מוכנים לפריסה.

  5. מבצעים איטרציה על העיצוב המוצע.

    The infrastructure looks good, but I want to add a cache for frequently accessed data.
    

    הסוכן מעדכן את העיצוב כדי לשלב את הדרישה שלכם. הנציג ישאל אם תרצו הסבר על השינויים או אם תרצו לבדוק את השינויים.

יצרתם את תכנון התשתית הראשוני, וביצעתם איטרציות כדי לשפר את התכנון.

הערכת התאימות לתקני אבטחה

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

  1. מוודאים שתכנון התשתית עומד בתקני האבטחה של הארגון.

    I want to make sure that infrastructure design is compliant with my organization's security standards.
    

    הסוכן מנתח את תכנון התשתית על סמך מסגרות האבטחה שאדמין בארגון הגדיר ב-Security Command Center. אם בביקורת נמצאות בעיות תאימות, הסוכן מציע שיפורים באבטחה ומבקש את האישור שלכם.

  2. החלת שיפורי האבטחה המומלצים

    Apply the recommended security enhancements.
    

    הסוכן יחיל את השינויים וישאל אם אתם מוכנים לאשר את העיצוב.

תכנון התשתית שלכם תואם למסגרות האבטחה של הארגון.

פריסת עיצוב התשתית

פריסת עיצוב התשתית ב- Google Cloud.

  1. מאשרים את העיצוב ומפעילים אותו.

    Deploy the infrastructure design to my Google Cloud project.
    

    הסוכן פורס את העיצוב הסופי בפרויקט Google Cloud . הסוכן יבקש ממך לאשר שינויים בפרויקט. לדוגמה, יכול להיות שתצטרכו להפעיל API.

    אם הפריסה של האפליקציה מצליחה, הסוכן מציג את פרטי הפריסה, רכיבי הארכיטקטורה ושלבים לשימוש באפליקציה.

  2. אם הפריסה נכשלת, אפשר לקבל עזרה בפתרון בעיות. לדוגמה, יכול להיות שתצטרכו לתקן פרטים של הגדרת רכיבים או הרשאות של ניהול זהויות והרשאות גישה (IAM).

    Fix the component configuration errors.
    

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

  3. כדי לנסות לפרוס שוב אחרי ביצוע שינויים, חוזרים על השלבים שבקטע הזה.

פרסתם את קוד האפליקציה ואת עיצוב התשתית ב-Google Cloud.

הסרת המשאבים

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

    כדי למחוק Google Cloud פרויקט:

    gcloud projects delete PROJECT_ID

המאמרים הבאים