قم بإقران Cloud Run مع Firebase Hosting لإنشاء المحتوى الديناميكي الخاص بك وتقديمه أو إنشاء واجهات برمجة تطبيقات REST كخدمات صغيرة.
عن طريق السحب تشغيل ، يمكنك نشر تطبيق تعبئتها في صورة الحاوية. بعد ذلك ، باستخدام Firebase Hosting ، يمكنك توجيه طلبات HTTPS لتشغيل تطبيقك المعبأ في حاويات.
- سحابة تشغيل يدعم عدة لغات (بما في ذلك العودة، نود.جي إس، بيثون، وجافا)، مما يوفر لك المرونة لاستخدام لغة البرمجة والإطار الذي تختاره.
- سحابة تشغيل تلقائيا وأفقيا جداول صورة الحاويات للتعامل مع الطلبات الواردة، ثم جداول أسفل عندما ينخفض الطلب.
- كنت فقط دفع لوحدة المعالجة المركزية والذاكرة، والربط الشبكي المستهلكة خلال معالجة الطلب.
على سبيل المثال حالات الاستخدام وعينات للسحابة تشغيل متكامل مع Firebase استضافة، زيارة موقعنا على نظرة عامة serverless .
يوضح لك هذا الدليل كيفية:
- اكتب تطبيق Hello World بسيطًا
- قم بتعبئة أحد التطبيقات وتحميله إلى Container Registry
- انشر صورة الحاوية في Cloud Run
- طلبات الاستضافة المباشرة لتطبيقك المعبأ في حاويات
علما بأن لتحسين أداء خدمة المحتوى الديناميكي، يمكنك اختياريا الخاص بك لحن إعدادات ذاكرة التخزين المؤقت .
قبل ان تبدأ
قبل استخدام الغيمة تشغيل، تحتاج إلى إكمال بعض المهام الأولية، بما في ذلك إنشاء حساب الفواتير الغيمة، وتمكين API سحابة تشغيل، وتثبيت gcloud
أداة سطر الأوامر.
قم بإعداد الفواتير لمشروعك
سحابة تشغيل تقدم الحصص استخدام حرة ، ولكن لا يزال يجب أن يكون لديك حساب سحابة الفواتير المرتبطة مشروع Firebase لاستخدام أو محاولة الخروج سحابة تشغيل.
قم بتمكين API وتثبيت SDK
تمكين Cloud Run API في وحدة تحكم Google APIs:
فتح صفحة API سحابة تشغيل في وحدة تحكم جوجل واجهات برمجة التطبيقات.
عند المطالبة ، حدد مشروع Firebase الخاص بك.
انقر فوق تمكين في صفحة API سحابة تشغيل.
تركيب وتهيئة وSDK الغيمة.
تأكد من أن
gcloud
تم تكوين أداة للمشروع الصحيح:gcloud config list
الخطوة 1: كتابة التطبيق عينة
علما بأن الغيمة تشغيل يدعم العديد من اللغات الأخرى ، بالإضافة إلى اللغات هو مبين في نموذج التالي.
يذهب
إنشاء دليل جديد اسمه
helloworld-go
، ثم قم بتغيير الدليل في ذلك:mkdir helloworld-go
cd helloworld-go
قم بإنشاء ملف يسمى جديدة
helloworld.go
، قم بإضافة التعليمة البرمجية التالية:هذه التعليمات البرمجية بإنشاء خادم الويب الأساسي الذي يستمع على المنفذ محددة من قبل
PORT
متغير البيئة.
اكتمل تطبيقك وأصبح جاهزًا ليتم وضعه في حاويات وتحميله إلى Container Registry.
Node.js
إنشاء دليل جديد اسمه
helloworld-nodejs
فحينئذ تغيير الدليل في ذلك:mkdir helloworld-nodejs
cd helloworld-nodejs
إنشاء
package.json
ملف مع محتويات التالية:إنشاء ملف جديد باسم
index.js
، قم بإضافة التعليمة البرمجية التالية:هذه التعليمات البرمجية بإنشاء خادم الويب الأساسي الذي يستمع على المنفذ محددة من قبل
PORT
متغير البيئة.
اكتمل تطبيقك وأصبح جاهزًا ليتم وضعه في حاويات وتحميله إلى Container Registry.
بايثون
إنشاء دليل جديد اسمه
helloworld-python
فحينئذ تغيير الدليل في ذلك:mkdir helloworld-python
cd helloworld-python
إنشاء ملف جديد باسم
app.py
، قم بإضافة التعليمة البرمجية التالية:هذه التعليمات البرمجية بإنشاء خادم الويب الأساسي الذي يستمع على المنفذ محددة من قبل
PORT
متغير البيئة.
اكتمل تطبيقك وأصبح جاهزًا ليتم وضعه في حاويات وتحميله إلى Container Registry.
جافا
تثبيت جافا SE 8 أو في وقت لاحق JDK و الضفيرة .
لاحظ أننا نحتاج فقط إلى القيام بذلك لإنشاء مشروع ويب جديد في الخطوة التالية. سيقوم 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
متغير البيئة.
اكتمل تطبيقك وأصبح جاهزًا ليتم وضعه في حاويات وتحميله إلى Container Registry.
الخطوة 2: التحوية التطبيق وتحميله على التسجيل الحاويات
التحوية التطبيق عينة عن طريق إنشاء ملف جديد اسمه
Dockerfile
في نفس الدليل كملفات مصدر. انسخ المحتوى التالي إلى ملفك.يذهب
Node.js
بايثون
جافا
أنشئ صورة الحاوية الخاصة بك باستخدام Cloud Build عن طريق تشغيل الأمر التالي من الدليل الذي يحتوي على Dockerfile الخاص بك:
gcloud builds submit --tag gcr.io/PROJECT_ID/helloworld
بعد النجاح ، سترى رسالة نجاح تحتوي على اسم الصورة
(gcr.io/ PROJECT_ID /helloworld
).
يتم الآن تخزين صورة الحاوية في Container Registry ويمكن إعادة استخدامها إذا رغبت في ذلك.
لاحظ أنه، بدلا من سحابة إنشاء، يمكنك استخدام الإصدار المثبت محليا من عامل الميناء إلى بناء حاوية محليا .
الخطوة 3: نشر صورة الحاويات إلى سحابة تشغيل
انشر باستخدام الأمر التالي:
gcloud run deploy --image gcr.io/PROJECT_ID/helloworld
عندما يُطلب منك:
- حدد منطقة (على سبيل المثال
us-central1
) - تأكيد اسم الخدمة (على سبيل المثال،
helloworld
) - الرد
Y
إلى السماح الدعاء غير مصادق
- حدد منطقة (على سبيل المثال
انتظر بضع لحظات حتى يكتمل النشر. عند النجاح ، يعرض سطر الأوامر عنوان URL للخدمة. على سبيل المثال:
https://helloworld- RANDOM_HASH -us-central1.a.run.appقم بزيارة الحاوية التي تم نشرها عن طريق فتح عنوان URL للخدمة في متصفح الويب.
الخطوة التالية ترشدك كيفية الوصول إلى هذا التطبيق حاويات من 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
يمكن الآن الوصول إلى حاويتك عبر عناوين URL التالية:
نطاقات Firebase الفرعية الخاصة بك:
PROJECT_ID .web.app/
وPROJECT_ID .firebaseapp.com/
أي متصلة المجالات المخصصة :
CUSTOM_DOMAIN /
زيارة صفحة تكوين استضافة ل مزيد من التفاصيل حول قواعد إعادة الكتابة . يمكنك أيضا التعرف على ترتيب الأولويات للاستجابات لمختلف تكوينات الاستضافة.
اختبر محليًا
أثناء التطوير ، يمكنك تشغيل صورة الحاوية واختبارها محليًا. للحصول على التعليمات المفصلة، زيارة ثائق الغيمة تشغيل .
الخطوات التالية
إعداد التخزين المؤقت للمحتوى ديناميكي الخاص بك على CDN العالمي.
التفاعل مع الخدمات Firebase أخرى باستخدام Firebase الادارية SDK .
معرفة المزيد عن سحابة تشغيل، بما في ذلك بالتفصيل كيف لأدلة لإنشاء وإدارة وتكوين الحاويات.
مراجعة التسعير و الحصص وحدود لسحابة تشغيل.