1. مقدمة
نظرة عامة
في هذا الدرس التطبيقي حول الترميز، انشر ثمانية تطبيقات JavaScript في التشغيل على السحابة الإلكترونية:
- Angular SSR - استنادًا إلى Angular
- Nuxt.js - استنادًا إلى Vue.js
- Next.js - استنادًا إلى React
- إنشاء ريمكس استنادًا إلى React
- SvelteKit - بناءً على Svelte
- SolidStart - استنادًا إلى Solid.js
- Astro
- Qwik
المعلومات التي ستطّلع عليها
- طريقة نشر أُطر عمل JavaScript التي تتوافق مع Cloud Build تلقائيًا
- كيفية نشر أُطر عمل JavaScript التي تتطلّب إعدادات
المتطلبات الأساسية
- تم تسجيل الدخول إلى المحطة الطرفية في Cloud Shell.
- لديك مشروع على Google Cloud تم تفعيل الفوترة فيه وإذن للنشر في Cloud Run
- ويمكنك تأكيد ذلك إذا سبق لك نشر خدمة Cloud Run. على سبيل المثال، يمكنك اتّباع نشر خدمة ويب Node.js من التشغيل السريع لرمز المصدر للبدء.
2. تفعيل Cloud Shell
- انتقِل إلى الوحدة الطرفية Cloud Shell: https://shell.cloud.google.com/?show=terminalإذا كانت هذه المرة الأولى التي تبدأ فيها تشغيل Cloud Shell، ستظهر لك شاشة وسيطة توضّح ماهيتها. إذا ظهرت لك شاشة وسيطة، انقر على متابعة.من المفترض أن تستغرق عملية توفير المتطلبات اللازمة والاتصال بتطبيق Cloud Shell بضع دقائق فقط.
- نفِّذ الأمر التالي في Cloud Shell لضبط مشروع
gcloud
: استبدِل <PROJECT_ID> برقم تعريف مشروعك. مثال:gcloud config set project <PROJECT_ID>
إذا طُلب منك التفويض، انقر على تفويض.gcloud config set project js-frameworks
3- تفعيل واجهات برمجة التطبيقات
قبل بدء استخدام هذا الدرس التطبيقي حول الترميز، عليك تفعيل العديد من واجهات برمجة التطبيقات. يتطلّب هذا الدرس التطبيقي حول الترميز استخدام واجهات برمجة التطبيقات التالية. يمكنك تمكين واجهات برمجة التطبيقات هذه عن طريق تشغيل الأمر التالي:
gcloud services enable \ cloudbuild.googleapis.com \ artifactregistry.googleapis.com \ run.googleapis.com
بعد ذلك، يمكنك ضبط متغيّرات البيئة التي سيتم استخدامها خلال هذا الدرس التطبيقي حول الترميز.
4. ضبط المنطقة التلقائية
يمكنك ضبط المنطقة بشكل فردي لكل عملية نشر. سيؤدي هذا الأمر إلى ضبط المنطقة التلقائية على us-central1
لكي لا تحتاج إلى ضبطها لكل منطقة.
gcloud config set run/region us-central1
5- ضبط git
وتتوقّع بعض المكتبات استخدام git
للتحكم في الإصدار تلقائيًا. إذا سبق لك إعداد git
على جهازك (مثال: أنت تشغِّل هذا التمرين محليًا)، لن تحتاج إلى تنفيذ هذه الخطوات.
git config --global user.email "you@example.com" git config --global user.name "Your Name" git config --global init.defaultBranch main
6- Angular SSR (Angular)
- انتقِل إلى الدليل الذي تريد إنشاء تطبيق Angular فيه.
cd ~
- إنشاء تطبيق Angular يستخدم العرض من جهة الخادم (SSR)
اضغط على مفتاحnpx @angular/cli new angular-app --ssr
Enter
لقبول الإعدادات التلقائية عندما يُطلب منك ذلك. - انتقِل إلى مجلد المشروع الجديد الذي أنشأته.
cd angular-app
- نشر التطبيق
اضغط على مفتاحgcloud run deploy --allow-unauthenticated
Enter
لقبول الإعدادات التلقائية عندما يُطلب منك ذلك.
الانتقال إلى طلبك
ستستغرق عملية النشر بضع دقائق. عند الانتهاء، سيعرض Cloud Run عنوان url مثل:
https://angular-app-xxxxxxxxxx-uc.a.run.app
افتح عنوان URL المقدَّم في علامة تبويب متصفِّح جديدة لعرض التطبيق المنشور.
تنظيف اختياري
- حذف مشروع Angular على الجهاز
cd .. rm -rf angular-app
- حذف خدمة Angular Cloud Run
اضغط على مفتاحgcloud run services delete angular-app
Enter
للمتابعة عندما يُطلب منك ذلك.
7. Nuxt.js (Vue.js)
- انتقِل إلى الدليل الذي تريد إنشاء تطبيق Angular فيه.
cd ~
- إنشاء تطبيق Nuxt.js
اضغط على مفتاحnpx nuxi init nuxt-app
Enter
لقبول الإعدادات التلقائية عندما يُطلب منك ذلك. - انتقِل إلى مجلد المشروع الجديد الذي أنشأته.
cd nuxt-app
- نشر التطبيق
اضغط على مفتاحgcloud run deploy --allow-unauthenticated
Enter
لقبول الإعدادات التلقائية عندما يُطلب منك ذلك.
الانتقال إلى طلبك
ستستغرق عملية النشر بضع دقائق. عند الانتهاء، سيعرض Cloud Run عنوان url مثل:
https://nuxt-app-xxxxxxxxxx-uc.a.run.app
افتح عنوان URL المقدَّم في علامة تبويب متصفِّح جديدة لعرض التطبيق المنشور.
تنظيف اختياري
- حذف مشروع Nuxt.js محليًا
cd .. rm -rf nuxt-app
- حذف خدمة Nuxt.js Cloud Run
اضغط على مفتاحgcloud run services delete nuxt-app
Enter
للمتابعة عندما يُطلب منك ذلك.
8. Next.js (التفاعل)
- انتقِل إلى الدليل الذي تريد إنشاء تطبيق Angular فيه.
cd ~
- إنشاء تطبيق Next.js
اضغط على مفتاحnpx create-next-app next-app
Enter
لقبول الإعدادات التلقائية عندما يُطلب منك ذلك. - انتقِل إلى مجلد المشروع الجديد الذي أنشأته.
cd next-app
- نشر التطبيق
اضغط على مفتاحgcloud run deploy --allow-unauthenticated
Enter
لقبول الإعدادات التلقائية عندما يُطلب منك ذلك.
الانتقال إلى طلبك
ستستغرق عملية النشر بضع دقائق. عند الانتهاء، سيعرض Cloud Run عنوان url مثل:
https://next-app-xxxxxxxxxx-uc.a.run.app
افتح عنوان URL المقدَّم في علامة تبويب متصفِّح جديدة لعرض التطبيق المنشور.
تنظيف اختياري
- حذف مشروع Next.js على الجهاز
cd .. rm -rf next-app
- حذف خدمة Next.js Cloud Run
اضغط على مفتاحgcloud run services delete next-app
Enter
للمتابعة عندما يُطلب منك ذلك.
9. ريمكس (تفاعل)
- انتقِل إلى الدليل الذي تريد إنشاء تطبيق Angular فيه.
cd ~
- إنشاء تطبيق Remix
عندما يُطلب منك إدخال إعداداتك المفضّلة، اضغط على مفتاحnpx create-remix remix-app
Enter
لقبول الإعدادات التلقائية. - انتقِل إلى مجلد المشروع الجديد الذي أنشأته.
cd remix-app
- نشر التطبيق
عندما يُطلب منك إدخال إعداداتك المفضّلة، اضغط على مفتاحgcloud run deploy --allow-unauthenticated
Enter
لقبول الإعدادات التلقائية.
الانتقال إلى طلبك
ستستغرق عملية النشر بضع دقائق. عند الانتهاء، سيعرض Cloud Run عنوان url مثل:
https://remix-app-xxxxxxxxxx-uc.a.run.app
افتح عنوان URL المقدَّم في علامة تبويب متصفِّح جديدة لعرض التطبيق المنشور.
تنظيف اختياري
- حذف مشروع Remix على الجهاز
cd .. rm -rf remix-app
- حذف خدمة Remix Cloud Run
اضغط على مفتاحgcloud run services delete remix-app
Enter
للمتابعة عندما يُطلب منك ذلك.
10. تنظيف Cloud Shell
في حال عدم استخدام Cloud Shell أو نشر تطبيق واحد فقط، تكون هذه الخطوة اختيارية
توفّر Cloud Shell دليلاً رئيسيًا دائمًا بسعة 5 غيغابايت ويتم تشغيلها في Google Cloud.
لنشر أطر العمل الثمانية جميعها باستخدام Cloud Shell، عليك إنشاء مساحة للتطبيقات المتبقية.
لن تؤدي إزالة المشاريع في Cloud Shell إلى حذف خدمات Cloud Run التي نشرتها.
لمحو التطبيقات التي أنشأتها بالفعل، شغّل الأوامر التالية:
cd ~ rm -rf angular-app/ rm -rf nuxt-app/ rm -rf next-app/ rm -rf remix-app/
11. SvelteKit (Svelte)
- انتقِل إلى الدليل الذي تريد إنشاء تطبيق Angular فيه.
cd ~
- إنشاء تطبيق SvelteKit
عندما يُطلب منك إدخال إعداداتك المفضّلة، اضغط على مفتاحnpx create-svelte svelte-app
Enter
لقبول الإعدادات التلقائية. - انتقِل إلى مجلد المشروع الجديد الذي أنشأته.
cd svelte-app
- نشر التطبيق
عندما يُطلب منك إدخال إعداداتك المفضّلة، اضغط على مفتاحgcloud run deploy --allow-unauthenticated
Enter
لقبول الإعدادات التلقائية.
الانتقال إلى طلبك
ستستغرق عملية النشر بضع دقائق. عند الانتهاء، سيعرض Cloud Run عنوان url مثل:
https://svelte-app-xxxxxxxxxx-uc.a.run.app
افتح عنوان URL المقدَّم في علامة تبويب متصفِّح جديدة لعرض التطبيق المنشور.
تنظيف اختياري
- حذف مشروع SvelteKit على الجهاز
cd .. rm -rf svelte-app
- حذف خدمة SvelteKit Cloud Run
اضغط على مفتاحgcloud run services delete svelte-app
Enter
للمتابعة عندما يُطلب منك ذلك.
12. SolidStart (Solid)
- انتقِل إلى الدليل الذي تريد إنشاء تطبيق Angular فيه.
cd ~
- إنشاء تطبيق SolidStart
عندما يُطلب منك إدخال إعداداتك المفضّلة، اضغط على مفتاحnpx create-solid solid-app
Enter
لقبول الإعدادات التلقائية. - انتقِل إلى مجلد المشروع الجديد الذي أنشأته.
cd solid-app
- نشر التطبيق
اضغط على مفتاحgcloud run deploy --allow-unauthenticated
Enter
لقبول الإعدادات التلقائية عندما يُطلب منك ذلك.
الانتقال إلى طلبك
ستستغرق عملية النشر بضع دقائق. عند الانتهاء، سيعرض Cloud Run عنوان url مثل:
https://solid-app-xxxxxxxxxx-uc.a.run.app
افتح عنوان URL المقدَّم في علامة تبويب متصفِّح جديدة لعرض التطبيق المنشور.
تنظيف اختياري
- حذف مشروع SolidStart محليًا
cd .. rm -rf solid-app
- حذف خدمة SolidStart Cloud Run
اضغط على مفتاحgcloud run services delete solid-app
Enter
للمتابعة عندما يُطلب منك ذلك.
13. Astro
- انتقِل إلى الدليل الذي تريد إنشاء تطبيق Angular فيه.
cd ~
- إنشاء تطبيق Astro
اضغط على مفتاحnpx create-astro astro-app
Enter
لقبول الإعدادات التلقائية عندما يُطلب منك ذلك. - انتقِل إلى مجلد المشروع الجديد الذي أنشأته.
cd astro-app
- إضافة محوّل Astro إلى Node.js
npx astro add node
- تعديل النص البرمجي "
start
" فيpackage.json
npm pkg set scripts.start="HOST=0.0.0.0 node ./dist/server/entry.mjs"
- نشر التطبيق
اضغط على مفتاحgcloud run deploy --allow-unauthenticated
Enter
لقبول الإعدادات التلقائية عندما يُطلب منك ذلك.
الانتقال إلى طلبك
ستستغرق عملية النشر بضع دقائق. عند الانتهاء، سيعرض Cloud Run عنوان url مثل:
https://astro-app-xxxxxxxxxx-uc.a.run.app
افتح عنوان URL المقدَّم في علامة تبويب متصفِّح جديدة لعرض التطبيق المنشور.
تنظيف اختياري
- حذف مشروع Astro على الجهاز
cd .. rm -rf astro-app
- حذف خدمة Astro Cloud Run
اضغط على مفتاحgcloud run services delete astro-app
Enter
للمتابعة عندما يُطلب منك ذلك.
14. Qwik
- انتقِل إلى الدليل الذي تريد إنشاء تطبيق Angular فيه.
cd ~
- إنشاء تطبيق Qwik
اضغط على مفتاحnpx create-qwik
Enter
لقبول الإعدادات التلقائية عندما يُطلب منك ذلك. - انتقِل إلى مجلد المشروع الجديد الذي أنشأته.
cd qwik-app
- إضافة محوّل Qwik إلى نظام التشغيل Cloud
npm run qwik add cloud-run
- نشر التطبيق
اضغط على مفتاحgcloud run deploy --allow-unauthenticated
Enter
لقبول الإعدادات التلقائية عندما يُطلب منك ذلك.
الانتقال إلى طلبك
ستستغرق عملية النشر بضع دقائق. عند الانتهاء، سيعرض Cloud Run عنوان url مثل:
https://qwik-app-xxxxxxxxxx-uc.a.run.app
افتح عنوان URL المقدَّم في علامة تبويب متصفِّح جديدة لعرض التطبيق المنشور.
تنظيف اختياري
- حذف مشروع Qwik على الجهاز
cd .. rm -rf qwik-app
- حذف خدمة Qwik Cloud Run
اضغط على مفتاحgcloud run services delete qwik-app
Enter
للمتابعة عندما يُطلب منك ذلك.
15. تهانينا
تهانينا على إكمال الدرس التطبيقي حول الترميز.
ننصحك بمراجعة المستندات المذكورة في المقالة Quickstart: النشر إلى Cloud Run من مستودع git حتى يتم نشر الإصدارات المستقبلية تلقائيًا مع كل عملية يتم إرسالها للتحكم في الإصدار.
المواضيع التي تناولناها
- طريقة نشر أُطر عمل JavaScript التي تتوافق مع Cloud Build تلقائيًا
- Angular SSR - استنادًا إلى Angular
- Nuxt.js - استنادًا إلى Vue.js
- Next.js - استنادًا إلى React
- إنشاء ريمكس استنادًا إلى React
- SvelteKit - بناءً على Svelte
- SolidStart - استنادًا إلى Solid.js
- كيفية نشر أُطر عمل JavaScript التي تتطلّب الضبط
- Astro
- Qwik
16. تَنظيم
لتجنب تحصيل رسوم غير مقصودة، (على سبيل المثال، إذا تم استدعاء خدمة Cloud Run هذه بدون قصد مرات أكثر من تخصيص استدعاء Cloud Run الشهري في الفئة المجانية)، يمكنك إما حذف مهمة Cloud Run أو حذف المشروع الذي أنشأته في الخطوة 1.
لحذف خدمات التشغيل في السحابة الإلكترونية، انتقل إلى Cloud Run Console على الرابط https://console.cloud.google.com/run/ واحذف خدمات التشغيل في السحابة الإلكترونية.
إذا اخترت حذف المشروع بالكامل، يمكنك الانتقال إلى https://console.cloud.google.com/cloud-resource-manager، واختيار المشروع الذي أنشأته في الخطوة الثانية، ثم اختيار "حذف". إذا حذفت المشروع، ستحتاج إلى تغيير المشاريع في حزمة تطوير البرامج (SDK) للسحابة الإلكترونية. يمكنك عرض قائمة بجميع المشاريع المتاحة من خلال تشغيل gcloud projects list
.