التطوير باستخدام Cloud Code

1. الأهداف

في هذا التمرين المعملي، سوف:

  • استكشاف المكوّنات الإضافية في Cloud Code
  • النشر في مجموعة Kubernetes
  • بث سجلات kubernetes
  • استخدام إعادة التحميل السريع للتغييرات
  • تصحيح الأخطاء في تطبيقات Kubernetes المباشرة

2. جارٍ تحضير مساحة العمل

استنساخ التطبيق

لاستنساخ المستودع وفتحه في بيئة التطوير الخاصة بك:

  1. يمكنك فتح محرِّر Cloud Shell من خلال الانتقال إلى عنوان URL التالي.

https://ide.cloud.google.com

  1. في النافذة الطرفية، استنسِخ مصدر التطبيق باستخدام الأمر التالي:

git clone https://github.com/viglesiasce/sample-app.git -b golden-path

  1. التغيير إلى الدليل وضبط مساحة عمل IDE على جذر المستودع

cd sample-app && cloudshell workspace .

تشغيل Minikube

في هذا القسم، يمكنك إنشاء تطبيقك واختباره ونشره والوصول إليه باستخدام إصدار محلي من kubernetes يُسمى Minikube.

  1. في الوحدة الطرفية، ابدأ minikube بتنفيذ:

minikube start

يتولى Minikube إعداد مجموعة Kubernetes محلية في Cloud Shell، وسيستغرق هذا الإعداد بضع دقائق. عند البدء، يُرجى تخصيص بعض الوقت لمراجعة الواجهات المختلفة التي يوفّرها Cloud Code في الخطوة التالية.

3- استكشاف مكوّن Cloud Code الإضافي

تعمل خدمة Cloud Code على إتاحة بيئة التطوير المتكاملة (IDE) لدورة التطوير الكاملة لتطبيقات Kubernetes وCloud Run، بدءًا من إنشاء تطبيق من نموذج حالي ووصولاً إلى مراقبة موارد تطبيقك الذي تم نشره. ستستخدم أوامر وطرق عرض مختلفة مقدمة من Cloud Code. في هذه الخطوة ستتعرف على الواجهات الأساسية.

مراجعة طرق عرض المستكشف من شريط الأنشطة

يمكن الوصول إلى لوحات متعددة لواجهة المستخدم من شريط الأنشطة. للتعرف بإيجاز على طريقة العرض المختلفة، انقر على الرموز لكل طريقة عرض

مستكشف واجهة برمجة التطبيقات:

  • انقر على رمز Cloud Code - Cloud APIs من شريط الأنشطة. تتوفّر تفاصيل إضافية للعمل في هذا العرض في المستندات.

ded1723c524edd72.png

مستكشف المدير السري:

  • انقر على طريقة عرض "المدير السري" ⁠ في شريط الأنشطة. تتوفّر تفاصيل إضافية للعمل في هذا العرض في المستندات.

89f88159bcf79fa9.png

مستكشف تشغيل السحابة الإلكترونية:

  • انتقِل إلى Cloud Run Explorer باستخدام رمز "التشغيل في السحابة الإلكترونية" في شريط "النشاط" على يمين الشاشة. تتوفّر تفاصيل إضافية للعمل في هذا العرض في المستندات.

a1d583fd06413011.png

مستكشف Kubernetes:

  • انتقِل إلى "مستكشف Kubernetes" باستخدام الرمز في شريط الأنشطة على يمين الصفحة. تتوفّر تفاصيل إضافية للعمل في هذا العرض في المستندات.

b2b8ab3975c5b0c9.png

مراجعة أوامر شريط الحالة

يمكن الوصول سريعًا إلى الأوامر المستخدمة بشكل متكرر من خلال المؤشر في شريط الحالة.

  • حدِّد موقع مؤشر إضافة رمز السحابة الإلكترونية في شريط الحالة d61e85cf23a32a40.png ⁠وانقر عليه.
  • مراجعة الأوامر المختلفة المتاحة للتشغيل وتصحيح الأخطاء على CloudRun وKubernetes
  • انقر على فتح صفحة الترحيب للحصول على تفاصيل إضافية وعينات من الأنشطة

مراجعة أوامر لوحة الأوامر

تتوفّر أوامر إضافية من لوحة الأوامر. راجِع قائمة الطلبات التي يمكنك الوصول إليها.

  • افتح "لوحة الأوامر" (اضغط على Ctrl/Cmd+Shift+P) ثم اكتب "Cloud Code" (رمز السحابة الإلكترونية) لفلترة الأوامر المتاحة.
  • استخدِم مفاتيح الأسهم للتنقُّل في قائمة الأوامر.

4. النشر في مجموعة Kubernetes

في هذا القسم، يمكنك إنشاء تطبيقك واختباره ونشره والوصول إليه.

تبدأ الخطوات أدناه إنشاء رمز المصدر ثم تُجري الاختبارات. سيستغرق تنفيذ عملية الإنشاء والاختبار بضع دقائق. تتضمن هذه الاختبارات اختبارات الوحدة وخطوة التحقق التي تتحقق من القواعد التي تم ضبطها لبيئة النشر. سبق أن تم ضبط خطوة التحقّق هذه وتضمن تلقّي تحذير بشأن مشاكل النشر حتى إذا كنت لا تزال تعمل في بيئة التطوير.

  1. في الجزء السفلي من "محرِّر Cloud Shell"، انقر على رمز Cloud Code ⁠d61e85cf23a32a40.png.
  2. في اللوحة التي تظهر في أعلى الشاشة، اختَر Run on Kubernetes. إذا طُلب منك ذلك، اختَر "نعم" لاستخدام سياق minikube Kubernetes.
  3. انقر على علامة التبويب "الإخراج" في الجزء السفلي 4866761cb9c691e2.png لعرض مستوى التقدّم والإشعارات.
  4. اختَر "Kubernetes: تشغيل/تصحيح الأخطاء - مفصّل" في القائمة المنسدلة للقناة على يسار c5e31091d464dbcf.png لعرض التفاصيل الإضافية والسجلات التي يتم بثها مباشرةً من الحاويات.

عند الانتهاء من عمليات الإنشاء والاختبارات، تعرض علامة التبويب "الإخراج" ما يلي: Resource deployment/sample-app-dev status completed successfully، وهناك عنوانا URL مُدرجان.

  1. في الوحدة الطرفية لرمز السحابة الإلكترونية، مرِّر مؤشر الماوس فوق عنوان URL الأول في الناتج (http://localhost:8080)، ثم في تلميح الأداة التي تظهر، اختَر "فتح معاينة الويب".

يتم فتح الإصدار المحلي من التطبيق في المتصفح. يعمل هذا الإصدار من التطبيق في مجموعة Kubernetes التابعة لـ minikube.

  1. في المتصفّح، أعِد تحميل الصفحة. سيزيد العدد بجانب العدّاد، ما يوضح أنّ التطبيق يستجيب لعملية إعادة التحميل.

في متصفحك، اترك هذه الصفحة مفتوحة بحيث يمكنك عرض التطبيق أثناء إجراء أي تغييرات في بيئتك المحلية.

5- استخدام إعادة التحميل السريع للتغييرات

في هذا القسم، يمكنك إجراء تغيير على التطبيق، وعرض ذلك أثناء تشغيل التطبيق في مجموعة Kubernetes المحلية. في علامة تبويب "الإخراج" لقناة Kubernetes: Run/Debug، بالإضافة إلى عناوين URL الخاصة بالتطبيق، تعرض النتائج أيضًا Watching for changes.، ما يعني أنّه تم تفعيل "وضع المشاهدة". عندما يكون رمز Cloud Code في وضع المشاهدة، سيرصد Cloud Code أي تغييرات محفوظة في مستودعك وسيعيد تلقائيًا إنشاء التطبيق وإعادة نشره يتضمّن آخر التغييرات.

  1. في محرِّر Cloud Shell، انتقِل إلى ملف main.go.
  2. في ملف main.go هذا، في السطر 23، غيِّر اللون من الأخضر إلى الأزرق.
  3. احفظ الملف.

يكتشف Cloud Code أن التغيير الذي تم إجراؤه على التطبيق يُحفظ، ويعيد نشره تلقائيًا. تعرض علامة التبويب "الإخراج" "تم بدء التحديث". ستستغرق عملية إعادة النشر هذه بضع دقائق.

تشبه عملية إعادة الإنشاء التلقائية هذه عملية إعادة تحميل الرموز السريعة، وهي ميزة متوفرة لبعض أنواع التطبيقات وأُطر العمل.

  1. وبعد اكتمال عملية التصميم، انتقِل إلى متصفّحك الذي فتحت التطبيق فيه وأعِد تحميل الصفحة.

عند إعادة التحميل، يتغيّر اللون في أعلى الجدول من الأزرق إلى الأخضر.

يمنحك هذا الإعداد عملية إعادة التحميل التلقائية لأي بنية مع أي مكونات. عند استخدام Cloud Code و minikube، تتوفّر هذه الوظيفة لإعادة تحميل الرموز البرمجية السريعة على أي جهاز يتم تشغيله في Kubernetes.

6- تصحيح الأخطاء في تطبيقات Kubernetes المباشرة

إذا قمت بتشغيل التطبيق وإجراء تغيير وعرض التطبيق قيد التشغيل. في هذا القسم، يمكنك تصحيح أخطاء التطبيق لتكون واثقًا من جاهزيته للالتزام بالمورد الرئيسي.

في مثال تصحيح الأخطاء هذا، سنركّز على قسم الرمز الخاص بعدّاد الصفحات.

  1. في محرِّر Cloud Shell، افتح الملف main.go
  2. قم بتعيين نقطة توقف في التطبيق بالنقر فوق الرقم الأيسر للسطر 82 (إذا كانت err != nil {)
  3. في الجزء الأزرق في أسفل محرِّر Cloud Shell، انقر على رمز Cloud Code d61e85cf23a32a40.png.
  4. في اللوحة التي تظهر في أعلى الصفحة، اختَر Debug on Kubernetes.

حيث تعمل خدمة Cloud Code على تشغيل أدوات تصحيح الأخطاء وإرفاقها حتى تتمكن من الوصول إلى حالة الذاكرة للتطبيق، وليس فقط السلوك الموجّه للمستخدمين للتطبيق.

  1. في نهاية عملية النشر، ستظهر رسالة في أعلى النافذة تطلب تأكيد الدليل في الحاوية التي تم نشر التطبيق فيها. f96e9a814edb44f4.png

تأكَّد من ضبط القيمة على /go/src/app واضغط على مفتاح Enter لقبول القيمة.

  1. انتظِر حتى ينتهي برنامج تصحيح الأخطاء من النشر. ستعرف أنّ عملية التحقّق مكتملة عندما يتحول شريط الحالة إلى اللون البرتقالي، وتظهر تقارير النتائج "Attached debugger to container "sample-app-dev-..." successfully.
  2. في الوحدة الطرفية لرمز السحابة الإلكترونية، مرِّر مؤشر الماوس فوق عنوان URL الأول في الإخراج (http://localhost:8081)، ثم في تلميح الأداة التي تظهر، اختَر "فتح معاينة الويب". لن ينتهي تحميل الصفحة، وهو أمر متوقَّع.
  3. ارجِع إلى بيئة التطوير المتكاملة (IDE) التي يظهر فيها برنامج تصحيح الأخطاء الآن. يظهر التعليمة البرمجية في علامة التبويب، وسترى مكدس الاستدعاءات، المتغيرات المتوفرة في هذا الجزء من التعليمة البرمجية. يمكنك توسيع المتغيرات - المحلية لرؤية قيمة متغير العدّاد الحالي هنا.
  4. للسماح بمواصلة تحميل الصفحة، حدِّد الزر "متابعة" الرمز في نافذة تصحيح الأخطاء 8f395391c4828528.png
  5. عند الانتهاء من تصحيح الأخطاء، انقر على زر "إيقاف" لإنهاء كل سلسلة محادثات قيد التشغيل. 81d142a9e1a2c01b.png