פריסת אפליקציות מ-Gemini CLI ומ-Antigravity ל-Cloud Run באמצעות שרת MCP

1. סקירה כללית

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

ב-Codelab הזה נסביר איך לשמור על קצב היצירה שלכם על ידי הפיכת ה-Deployment (פריסה) להרחבה טבעית של תהליך תכנות בשיטת Vibe coding. נפרט איך אפשר לפרוס את האפליקציה מ-Gemini CLI ומ-Antigravity ל-Cloud Run באמצעות Cloud Run MCP Server. עכשיו אפשר לבקש מאפליקציית ה-AI לפרוס את האפליקציה ב-Cloud Run, שירות ללא שרת (serverless) שמוכן לייצור ומבצע את כל העבודה הקשה שקשורה לניהול התשתית.

מה תפַתחו

במסגרת ה-Lab הזה:

  1. התקנת Cloud Run MCP Server כתוסף ל-Gemini CLI
  2. Build a simple application via vibe-coding on Gemini CLI
  3. פריסת האפליקציה ב-Cloud Run באמצעות שרת ה-MCP של Cloud Run
  4. הפעלת שרת MCP של Cloud Run ב-Antigravity
  5. פריסת אותה אפליקציה ב-Cloud Run מ-Antigravity באמצעות שרת ה-MCP של Cloud Run

דרישות

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

יצירת פרויקט

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

כניסה מהטרמינל

כשמשתמשים בשרת Cloud Run MCP ב-Gemini CLI וב-Antigravity, צריך להתחבר באמצעות gcloud.

  1. תשתמשו ב-gcloud שמותקן במחשב. במסוף, מתחברים לחשבון Google Cloud באמצעות הפקודה:
gcloud auth login
  1. מגדירים פרטי כניסה לאפליקציה באמצעות הפקודה:
gcloud auth application-default login
  1. מריצים את הפקודה הבאה כדי לוודא שפקודת gcloud מכירה את הפרויקט.
gcloud config list project
  1. אם הפרויקט לא מוגדר, משתמשים בפקודה הבאה כדי להגדיר אותו:
gcloud config set project <YOUR_PROJECT_ID>

יצירת מפתח Gemini API

  1. בדפדפן, עוברים אל הדף API Keys.
  2. לוחצים על הלחצן יצירת מפתח API בפינה השמאלית העליונה של הדף.
  3. בחלון הקופץ Create a new key (יצירת מפתח חדש) שמופיע, מציינים שם מתאים למפתח ובוחרים את הפרויקט ב-Google Cloud שבו המפתח ייווצר.
  4. לוחצים על הלחצן יצירת מפתח. המערכת תיצור את המפתח החדש.
  5. מעתיקים את המפתח החדש שנוצר.
  6. בטרמינל (מקומי או Cloud Shell), מגדירים את משתנה הסביבה למפתח הזה באופן הבא:
export GOOGLE_API_KEY=<YOUR_API_KEY>
export GEMINI_API_KEY=<YOUR_API_KEY>

3. מבוא

היכרות עם שרת MCP

שרת MCP (שרת Model Context Protocol) משמש כגשר סטנדרטי שמחבר בין עוזרים דיגיטליים מבוססי-AI לבין מערכות וכלים חיצוניים. אפשר לחשוב על זה כעל מנהל התקן אוניברסלי או כעל 'יציאת USB-C' לבינה מלאכותית. במקום שמפתחים יצטרכו ליצור שילוב ייחודי לכל מקור נתונים (כמו Google Drive,‏ Gmail או מסד נתונים מקומי) כדי לתקשר עם כל מודל ספציפי של AI,‏ MCP מספק שפה משותפת שכולם מבינים. השרת הזה פועל בדרך כלל באופן מקומי במחשב או מרחוק, ומאזין לבקשות מ'לקוח AI' (כמו AI Studio, ‏ Gemini CLI, ‏ Antigravity) כדי לגשת באופן מאובטח למידע שקיים מחוץ לנתוני האימון של ה-AI.

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

שרת MCP ב-Cloud Run

שרת ה-MCP של Cloud Run מאפשר לסוכני AI שתואמים ל-MCP להשתלב עם Cloud Run ולבצע בו פעולות שונות. שרת ה-MCP ב-Cloud Run מגיע עם מערך עשיר של כלים והנחיות.

כלים

כלים הם יכולות הפעלה שמאפשרות ל-AI ליצור אינטראקציה עם מערכות חיצוניות ולבצע עבודה בפועל.

  • deploy-file-contents: פריסת קבצים ב-Cloud Run על ידי אספקת התוכן שלהם ישירות.
  • list-services: מציג רשימה של שירותי Cloud Run בפרויקט ובאזור נתון.
  • get-service: מקבל פרטים על שירות ספציפי של Cloud Run.
  • get-service-log: מקבל יומנים והודעות שגיאה של שירות ספציפי ב-Cloud Run.
  • deploy-local-folder: פריסת תיקייה מקומית לשירות Google Cloud Run.
  • list-projects: מציג רשימה של פרויקטים זמינים ב-GCP.
  • create-project: יוצר פרויקט חדש ב-GCP ומקשר אותו לחשבון הראשון לחיוב שזמין. אפשר לציין מזהה פרויקט.

הנחיות

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

  • deploy: פריסת ספריית העבודה הנוכחית ב-Cloud Run. אם לא מציינים שם שירות, המערכת תשתמש במשתנה הסביבה DEFAULT_SERVICE_NAME או בשם של ספריית העבודה הנוכחית.
  • logs: קבלת היומנים של שירות Cloud Run. אם לא מציינים שם שירות, המערכת תשתמש במשתנה הסביבה DEFAULT_SERVICE_NAME או בשם של ספריית העבודה הנוכחית.

4. התקנת שרת MCP ל-Gemini CLI

תוסף ל-Gemini CLI

תוספים ל-Gemini CLI הם חבילות מודולריות שכוללות שרתי MCP, קובצי הקשר ופקודות בהתאמה אישית, וניתן להתקין אותם כיחידה אחת. הם משמשים כ'קונטיינרים' של יכולות, ומאפשרים לכם לצייד את Gemini CLI באופן מיידי במיומנויות מיוחדות לפלטפורמות ספציפיות כמו GitHub,‏ Firebase או Google Cloud.

התקנת שרת Cloud Run MCP כתוסף ל-Gemini CLI

כדי להתקין את Cloud Run MCP Server כתוסף ל-Gemini CLI, מריצים את הפקודה הבאה:

gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp

הבטחת התקנה מוצלחת

פותחים את Gemini CLI על ידי הרצת הפקודה הבאה בטרמינל:

gemini

אחרי שהטרמינל עובר למצב Gemini CLI, מריצים את הפקודה הבאה כדי לוודא ששרת ה-MCP של Cloud Run מופיע במצב Ready.

/mcp list

צילום מסך של שרת Cloud Run MCP שמופיע ב-Gemini CLI

בנוסף, אתם צריכים לאמת את עצמכם כדי להשתמש ב-Gemini Code Assist לתכנות בשיטת Vibe coding. כדי לעשות את זה, מריצים את הפקודה הבאה ב-Gemini CLI:

/auth login

בוחרים באפשרות Use Gemini API Key (שימוש במפתח Gemini API). הכניסה תתבצע אוטומטית כי כבר הגדרתם את משתנה הסביבה GEMINI_API_KEY.

5. Vibe-Coding ב-Gemini CLI

עכשיו ניצור אפליקציית אינטרנט עם קוד ויב באמצעות Gemini CLI, ואז נבצע פריסה ב-Cloud Run באמצעות שרת MCP.

  1. מוודאים שנמצאים בטרמינל של Gemini CLI.
  2. משתמשים בהנחיה כדי ליצור אפליקציית אינטרנט. הנה דוגמה להנחיה כזו:
Build a NodeJS-based neon-themed Tic-Tac-Toe web app where the grid glows and players X (cyan) and O (magenta) pulse with light against a dark background. The UI must focus on immersion, using CSS shadows and transitions to make the board feel responsive and alive.

Program the game logic in NodeJS in a new folder `neon-tic-tac-toe`, that handles turn switching, win detection, and a dramatic 'Game Over' announcement at the top of the screen.

Once the application is ready, tell me how to run it locally so that I can try it out before deploying on the server.

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

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

6. פריסה ב-Cloud Run מ-Gemini CLI

  1. אחרי שתהיו מרוצים מהאופן שבו אפליקציית האינטרנט פועלת, נשתמש בהנחיה הבאה כדי לפרוס את האפליקציה ב-Cloud Run:
Deploy the neon-tic-tac-toe folder as Cloud Run service in the project <project-id> in us-west1 region.

מחליפים את ה-placeholder במזהה הפרויקט ב-Google Cloud. אפשר גם לשנות את האזור לאזור אחר.

חשוב לזכור: Gemini CLI מפעיל את הכלי deploy_local_folder של שרת ה-MCP של Cloud Run. לתת ל-Gemini CLI הרשאה להמשיך בהרצת הכלי הזה.

  1. פריסת האפליקציה ב-Cloud Run תימשך כמה דקות. ברגע שהפריסה תושלם, תקבלו את כתובת ה-URL של Cloud Console ואת כתובת ה-URL של השירות. מעתיקים את כתובת ה-URL של השירות בדפדפן ומדביקים אותה.

צילום מסך של פריסה מוצלחת מ-Gemini CLI

  1. הצלחתם לפרוס את אפליקציית האינטרנט ב-Cloud Run מ-Gemini CLI באמצעות Cloud Run MCP Server.

7. Vibe-Coding ב-Antigravity

  1. פותחים את אפליקציית Antigravity.
  2. עכשיו אפשר לבחור אם לפתוח את התיקייה neon-tic-tac-toe שנוצרה בקטע הקודם, או תיקייה חדשה שבה אפשר ליצור אפליקציית אינטרנט באמצעות קוד Vibe.
  3. מוודאים שהחלונית Agent Manager (ניהול סוכנים) פתוחה ב-Antigravity, כמו שמוצג בתמונה שלמטה.

צילום מסך של החלונית Agent Manager ב-Antigravity

  1. אם פתחתם תיקייה חדשה, צריך לתת את ההנחיה ליצירת אפליקציית האינטרנט בחלונית Agent Manager (ניהול סוכנים). נוקטים פעולות מתאימות כדי לוודא שאפליקציית האינטרנט נוצרת כמצופה. אפשר גם להריץ את האפליקציה באופן מקומי ולבדוק אם היא פועלת כמצופה.

8. פריסה ב-Cloud Run מ-Antigravity

עכשיו נתקין את שרת ה-MCP של Cloud Run.

  1. לוחצים על סמל האפשרויות הנוספות (3 נקודות) בפינה השמאלית העליונה של החלונית Agent Manager (ניהול סוכנים). בתפריט הנפתח, לוחצים על האפשרות MCP Servers (שרתי MCP).

האפשרות MCP Servers בחלונית Agent Manager

  1. חפשו את Cloud Run בתיבת החיפוש בחנות MCP. מעבירים את העכבר מעל שרת ה-MCP של Cloud Run ולוחצים על הלחצן Install (התקנה) שמופיע משמאל.

התקנת שרת MCP של Cloud Run

  1. אחרי ההתקנה, לוחצים על הלחצן Back to Agent (חזרה לסוכן) בחלק העליון של החלונית Agent Manager (ניהול סוכנים).
  2. בחלונית Agent Manager, תוצג עכשיו בקשה לפרוס את התיקייה הזו כשירות Cloud Run בפרויקט בענן של Google באופן הבא:
Deploy this folder as Cloud Run service in the project <project-id> in us-west1 region.

שימו לב: מופעל הכלי deploy_local_folder של שרת ה-MCP של Cloud Run. השם של התיקייה יהיה השם של שירות Cloud Run.

אפשר גם לשנות את האזור לאזור אחר.

  1. פריסת האפליקציה ב-Cloud Run תימשך כמה דקות. ברגע שהפריסה תושלם, תקבלו את כתובת ה-URL של Cloud Console ואת כתובת ה-URL של השירות. מעתיקים את כתובת ה-URL של השירות בדפדפן ומדביקים אותה.

צילום מסך של פריסה מוצלחת מ-Antigravity

  1. הצלחתם לפרוס את אפליקציית האינטרנט ב-Cloud Run מ-Antigravity באמצעות שרת ה-MCP של Cloud Run.

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

כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם במאמר הזה:

  • במסוף Google Cloud, עוברים לדף Manage resources.
  • ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete (מחיקה).
  • כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

10. מזל טוב

מעולה! הצלחתם לכתוב קוד לאפליקציה באמצעות Gemini CLI ו-Antigravity ולפרוס אותה ב-Cloud Run דרך שרת ה-MCP של Cloud Run.

‫Gemini CLI ו-Antigravity הן אפליקציות מומלצות לפיתוח ולבדיקה של אפליקציות, שמאפשרות למשתמשים להפוך את הרעיונות שלהם למציאות באופן מיידי.

השילוב החלק של הכלים האלה עם Cloud Run דרך שרת ה-MCP של Cloud Run מאפשר למשתמשים לפרוס את האפליקציות שלהם בקלות ישירות ב-Google Cloud. השימוש ב-Cloud Run מעניק את כל היתרונות של סביבה ללא שרתים (serverless), ומפשט את המורכבויות והתקורה של ניהול התשתית.