חבר Cloud Run עם Firebase Hosting כדי ליצור ולשרת את התוכן הדינמי שלך או לבנות ממשקי API של REST כשירותי מיקרו.
באמצעות ענן הפעלה , תוכל לפרוס יישומים ארוזים תמונת מיכל. לאחר מכן, באמצעות Firebase Hosting, תוכל להפנות בקשות HTTPS להפעיל את האפליקציה המכילה שלך.
- ענן הפעלה תומכת במספר שפות (כולל Go, Node.js, Python, ו- Java), נותן לך את הגמישות להשתמש בשפת תכנות מסגרת על פי בחירתך.
- ענן הפעלה אוטומטית ואופקי קשקשי תמונת מיכל שלך להתמודד עם הבקשות שהתקבלו, אז תמזער כאשר ביקוש יורד.
- אתה רק לשלם עבור המעבד, הזיכרון, ואת הרשתות נצרך במהלך הטיפול בבקשה.
לעיון בדוגמאות לשימוש למשל ודוגמאות עבור ענן הפעלה משולבת עם Firebase אירוח, בקר סקירה ללא שרת .
מדריך זה מראה לכם כיצד:
- כתוב אפליקציית Hello World פשוטה
- מכיל אפליקציה והעלה אותה לרישום המכולות
- לפרוס את תמונת המכולה ל- Cloud Run
- בקשות אירוח ישירות לאפליקציה המכילה שלך
שים לב כי על מנת לשפר את הביצועים של הצגת תוכן דינמי, יש לך אפשרות לכוון שלך הגדרות מטמון .
לפני שאתה מתחיל
לפני שימוש ענן הפעלה, אתה צריך להשלים כמה משימות ראשוניות, כולל הגדרת חשבון חיוב ענן, המאפשר API ענן ההפעלה, והתקנה של gcloud
כלי שורת פקוד.
הגדר חיוב עבור הפרויקט שלך
ענן הפעלה מציעה ממכסת שימוש בחינם , אבל אתה עדיין צריך להיות בעל חשבון חיוב ענן קשור לפרויקט Firebase שלך כדי שימוש או לנסות ענן הפעלה.
הפעל את ה- API והתקן את ה- SDK
הפעל את ה- Cloud Run API במסוף Google APIs:
פתח את דף API ענן הפעלה במסוף API של Google.
כשתתבקש, בחר את פרויקט Firebase שלך.
לחץ אפשר בדף API ענן ההפעלה.
התקן לאתחל ענן SDK.
בדוק כי
gcloud
שהכלי מוגדר לפרויקט הנכון:gcloud config list
שלב 1: כתוב את היישום לדוגמה
הערה כי ענן הפעלה תומכת בשפות רבות אחרות בנוסף בשפות המוצגות במדגם הבא.
ללכת
צור בשם ספרייה חדשה
helloworld-go
, ואז שינוי ספרייה לתוכו:mkdir helloworld-go
cd helloworld-go
צור חדש בשם קובץ
helloworld.go
, ולאחר מכן להוסיף את הקוד הבא:קוד זה יוצר שרת אינטרנט בסיסי שמאזין על היציאה שהוגדר על ידי
PORT
משתנה הסביבה.
האפליקציה שלך הסתיימה ומוכנה לאריזת מכולות ולהעלות לרישום המכולות.
Node.js
צור ספרייה חדשה בשם
helloworld-nodejs
, ספריית שינוי אז לתוכו:mkdir helloworld-nodejs
cd helloworld-nodejs
צור
package.json
קובץ עם התכנים הבאים:יצירת קובץ חדש בשם
index.js
, ולאחר מכן להוסיף את הקוד הבא:קוד זה יוצר שרת אינטרנט בסיסי שמאזין על היציאה שהוגדר על ידי
PORT
משתנה הסביבה.
האפליקציה שלך הסתיימה ומוכנה לאריזת מכולות ולהעלות לרישום המכולות.
פִּיתוֹן
צור בשם ספרייה חדשה
helloworld-python
, ספריית שינוי אז לתוכו:mkdir helloworld-python
cd helloworld-python
יצירת קובץ חדש בשם
app.py
, ולאחר מכן להוסיף את הקוד הבא:קוד זה יוצר שרת אינטרנט בסיסי שמאזין על היציאה שהוגדר על ידי
PORT
משתנה הסביבה.
האפליקציה שלך הסתיימה ומוכנה לאריזת מכולות ולהעלות לרישום המכולות.
ג'אווה
התקן 8 SE Java או במאוחר JDK ו CURL .
שים לב שעלינו לעשות זאת רק כדי ליצור את פרויקט האינטרנט החדש בשלב הבא. ה- Dockerfile, המתואר בהמשך, יטען את כל התלות במיכל.
מהמסוף, צור פרויקט אינטרנט ריק חדש באמצעות cURL ואז פתח את הפקודות:
curl https://start.spring.io/starter.zip \ -d dependencies=web \ -d name=helloworld \ -d artifactId=helloworld \ -o helloworld.zip
unzip helloworld.zip
זה יוצר פרויקט SpringBoot.
עדכן את
SpringBootApplication
בכיתה בsrc/main/java/com/example/helloworld/HelloworldApplication.java
ידי הוספת@RestController
לטפל/
מיפוי וכן יוסיף@Value
שדה כדי לספק אתTARGET
משתנה הסביבה:קוד זה יוצר שרת אינטרנט בסיסי שמאזין על היציאה שהוגדר על ידי
PORT
משתנה הסביבה.
האפליקציה שלך הסתיימה ומוכנה לאריזת מכולות ולהעלות לרישום המכולות.
שלב 2: שיכלא אפליקציה ולהעלות אותו מיכל הרישום
שתכלא את היישום מדגם על ידי יצירת קובץ חדש בשם
Dockerfile
באותה ספרייה כמו קבצי המקור. העתק את התוכן הבא לקובץ שלך.ללכת
Node.js
פִּיתוֹן
ג'אווה
בנה את תמונת המכולה שלך באמצעות Cloud Build על ידי הפעלת הפקודה הבאה מהספרייה המכילה את Dockerfile שלך:
gcloud builds submit --tag gcr.io/PROJECT_ID/helloworld
לאחר ההצלחה, תראה הודעת SUCCESS המכילה את שם התמונה
(gcr.io/ PROJECT_ID /helloworld
).
תמונת המכולה מאוחסנת כעת ברישום המכולות וניתן להשתמש בה מחדש במידת הצורך.
שים לב, במקום ענן Build, אתה יכול להשתמש בגרסה מותקנת מקומי של דוקר כדי לבנות מיכל שלך באופן מקומי .
שלב 3: לפרוס את תמונת מיכל ענן Run
הפעל באמצעות הפקודה הבאה:
gcloud run deploy --image gcr.io/PROJECT_ID/helloworld
כאשר תתבקש:
- בחר אזור (למשל
us-central1
) - אשר את שם השירות (למשל,
helloworld
) - להגיב
Y
כדי לאפשר תפילות מאומתות
- בחר אזור (למשל
המתן מספר רגעים עד להשלמת הפריסה. לאחר ההצלחה, שורת הפקודה מציגה את כתובת האתר של השירות. לדוגמה:
https://helloworld- RANDOM_HASH -us-central1.a.run.appבקר במיכל הפרוס שלך על ידי פתיחת כתובת האתר של השירות בדפדפן אינטרנט.
השלב הבא ידריך אותך כיצד לגשת אפליקציה במכולות זה מכתובת URL אירוח Firebase כך שהוא יכול ליצור תוכן דינמי עבור אתר Firebase המארחת שלך.
שלב 4: בקשות אירוח ישירות האפליקציה במכולות שלך
עם כללי שכתוב , אתה יכול לכוון בקשות תואמי דפוסים מסוימים אל יעד יחיד.
המופעים הדוגמה הבאה איך לכוון את כל הבקשות מהדף /helloworld
באתר אירוח, כדי להפעיל את ההפעלה והפעלה של שלך helloworld
למשל מיכל.
תוודא ש:
יש לך את הגרסה האחרונה של Firebase CLI .
אתחלת אתחול Firebase.
לקבלת הוראות מפורטות לגבי התקנת CLI ו אתחול אירוח, לראות את המדריך צא לדרך אירוח .
פתח שלכם
firebase.json
קובץ .מוסיף את הבאים
rewrite
התצורה תחתhosting
הסעיף:"hosting": { // ... // Add the "rewrites" attribute within "hosting" "rewrites": [ { "source": "/helloworld", "run": { "serviceId": "helloworld", // "service name" (from when you deployed the container image) "region": "us-central1" // optional (if omitted, default is us-central1) } } ] }
לפרוס את תצורת האירוח לאתר שלך על ידי הפעלת הפקודה הבאה משורש ספריית הפרויקטים שלך:
firebase deploy
כעת ניתן לגשת למיכל שלך באמצעות כתובות האתרים הבאות:
תת הדומיינים שלך ב- Firebase:
PROJECT_ID .web.app/
וPROJECT_ID .firebaseapp.com/
כל המחוברים תחומים המנהג :
CUSTOM_DOMAIN /
בקר בדף תצורת האירוח עבור פרטים נוספים על כללי שכתוב . ניתן גם ללמוד על סדר העדיפות של תגובות עבור תצורות אירוח שונות.
מבחן מקומי
במהלך הפיתוח, תוכל להריץ ולבדוק את תמונת המכולה שלך באופן מקומי. לקבלת הוראות מפורטות, בקר תיעוד הפעלת הענן .
הצעדים הבאים
הגדרה במטמון של התוכן הדינמי שלך על CDN העולמי.
יצירת אינטראקציה עם שירותי Firebase אחרים באמצעות SDK של ניהול Firebase .
למידע נוסף על ענן הפעלה, כוללים מפורט כיצד לבצע מדריכים להקמה, ניהול, והגדרת מכולות.
סקור את התמחור ואת מכסות ומגבלות על ענן הפעלה.