1. الأهداف
في هذا الدرس التطبيقي، ستنفّذ ما يلي:
- استكشاف مكوّنات Cloud Code الإضافية
- النشر في مجموعة Kubernetes
- بث سجلات Kubernetes
- استخدام إعادة التحميل السريع للتغييرات
- تصحيح أخطاء تطبيقات Kubernetes المباشرة
2. إعداد مساحة العمل
استنساخ التطبيق
لاستنساخ المستودع وفتحه في بيئة التطوير، اتّبِع الخطوات التالية:
- افتح محرِّر Cloud Shell من خلال الانتقال إلى عنوان URL التالي
https://ide.cloud.google.com
- في نافذة الوحدة الطرفية، استنسِخ مصدر التطبيق باستخدام الأمر التالي:
git clone https://github.com/viglesiasce/sample-app.git -b golden-path
- انتقِل إلى الدليل واضبط مساحة عمل بيئة التطوير المتكاملة على جذر المستودع
cd sample-app && cloudshell workspace .
بدء Minikube
في هذا القسم، يمكنك إنشاء تطبيقك واختباره ونشره والوصول إليه باستخدام إصدار محلي من Kubernetes يُسمى Minikube.
- في الوحدة الطرفية، ابدأ minikube بتشغيل:
minikube start
يُعدّ Minikube مجموعة Kubernetes محلية في Cloud Shell، وسيستغرق هذا الإعداد بضع دقائق. أثناء بدء تشغيلها، خذ لحظة لمراجعة الواجهات المختلفة التي يوفّرها Cloud Code في الخطوة التالية.
3- استكشاف المكوّن الإضافي Cloud Code
توفّر Cloud Code دعمًا لبيئة التطوير المتكاملة (IDE) في دورة التطوير الكاملة لتطبيقات Kubernetes وCloud Run، بدءًا من إنشاء تطبيق من نموذج حالي إلى تتبُّع موارد تطبيقك الذي تم نشره. ستستخدم أوامر وطرق عرض مختلفة يوفّرها Cloud Code. في هذه الخطوة، ستتعرّف على الواجهات الأساسية.
مراجعة طرق عرض "مستكشف المراجعات" من شريط الأنشطة
يمكن الوصول إلى لوحات واجهة المستخدم المتعددة من شريط "النشاط". للتعرّف باختصار على طرق العرض المختلفة، انقر على الرموز الخاصة بكل طريقة عرض.
مستكشف واجهات برمجة التطبيقات:
- انقر على رمز Cloud Code - Cloud APIs (Cloud Code - واجهات برمجة التطبيقات السحابية)  من شريط "النشاط". تتوفّر تفاصيل إضافية حول العمل في هذا العرض في المستندات.

Secret Manager Explorer:
- انقر على عرض Secret Manager  في شريط "النشاط". تتوفّر تفاصيل إضافية حول العمل في هذا العرض في المستندات.

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

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

مراجعة أوامر شريط الحالة
يمكن الوصول إلى الأوامر المستخدَمة بشكل متكرّر بسرعة من خلال المؤشر في شريط الحالة.
- ابحث عن مؤشر إضافة Cloud Code في شريط الحالة
 وانقر عليه. - مراجعة الأوامر المختلفة المتاحة لتشغيل عمليات تصحيح الأخطاء في Cloud Run وKubernetes
- انقر على "فتح صفحة الترحيب" للحصول على تفاصيل إضافية وأنشطة نموذجية.
مراجعة أوامر لوحة الأوامر
تتوفّر أوامر إضافية من لوحة الأوامر. راجِع قائمة الأوامر التي يمكنك الوصول إليها.
- افتح "لوحة الأوامر" (Command Palette) (اضغط على Ctrl/Cmd+Shift+P)، ثم اكتب Cloud Code لفلترة الأوامر المتاحة.
- استخدِم مفاتيح الأسهم للتنقّل بين قائمة الأوامر.
4. النشر في مجموعة Kubernetes
في هذا القسم، يمكنك إنشاء تطبيقك واختباره ونشره والوصول إليه.
تبدأ الخطوات أدناه بإنشاء الرمز المصدري ثم تشغيل الاختبارات. سيستغرق إنشاء التطبيق وإجراء الاختبارات بضع دقائق. تشمل هذه الاختبارات اختبارات الوحدات وخطوة التحقّق التي تتحقّق من القواعد التي تم ضبطها لبيئة النشر. تمّت إعداد خطوة التحقّق هذه مسبقًا، وهي تضمن تلقّي تحذير بشأن مشاكل النشر حتى أثناء العمل في بيئة التطوير.
- في اللوحة أسفل "محرّر Cloud Shell"، انقر على Cloud Code 
. - في اللوحة التي تظهر في أعلى الصفحة، اختَر "التشغيل على Kubernetes". إذا طُلب منك ذلك، اختَر "نعم" لاستخدام سياق Kubernetes في minikube.
- انقر على علامة التبويب "الإخراج" في اللوحة السفلية
لعرض مستوى التقدّم والإشعارات - اختَر "Kubernetes: Run/Debug - Detailed" (Kubernetes: تشغيل/تصحيح الأخطاء - تفصيلي) من القائمة المنسدلة للقناة على اليسار
لعرض تفاصيل إضافية وسجلات يتم بثها مباشرةً من الحاويات
عند اكتمال الإنشاء والاختبارات، ستظهر الرسالة Resource deployment/sample-app-dev status completed successfully في علامة التبويب "الإخراج"، وسيتم إدراج عنوانَي URL.
- في نافذة Cloud Code الطرفية، مرِّر مؤشر الماوس فوق عنوان URL الأول في الناتج (http://localhost:8080)، ثم انقر على Open Web Preview (فتح معاينة الويب) في تلميح الأداة الذي يظهر.
يتم فتح النسخة المحلية من التطبيق في المتصفّح. يتم تشغيل هذا الإصدار من التطبيق في مجموعة Kubernetes الخاصة بـ minikube.
- أعِد تحميل الصفحة في المتصفّح. يزداد الرقم بجانب "العداد"، ما يشير إلى أنّ التطبيق يستجيب لعملية إعادة التحميل.
في المتصفّح، أبقِ هذه الصفحة مفتوحة حتى تتمكّن من عرض التطبيق أثناء إجراء أي تغييرات في بيئتك المحلية.
5- استخدام إعادة التحميل السريع للتغييرات
في هذا القسم، ستجري تغييرًا على التطبيق، وستعرض التغيير أثناء تشغيل التطبيق في مجموعة Kubernetes المحلية. في علامة التبويب "الإخراج" لقناة Kubernetes: Run/Debug، بالإضافة إلى عناوين URL للتطبيق، يظهر أيضًا Watching for changes.، ما يعني أنّ وضع المراقبة مفعّل. أثناء تفعيل وضع المراقبة في Cloud Code، سيرصد أي تغييرات تم حفظها في مستودعك ويعيد تلقائيًا إنشاء التطبيق وإعادة نشره باستخدام آخر التغييرات.
- في "محرِّر Cloud Shell"، انتقِل إلى ملف main.go.
- في ملف main.go هذا، في السطر 23، غيِّر اللون من الأخضر إلى الأزرق.
- احفظ الملف.
يرصد Cloud Code أنّه تم حفظ التغيير في التطبيق، ويعيد نشره تلقائيًا. تعرض علامة التبويب "الإخراج" الرسالة "بدء التحديث". سيستغرق إعادة النشر هذه بضع دقائق.
تشبه عملية إعادة الإنشاء التلقائية هذه عملية إعادة تحميل الرمز النشط، وهي ميزة متاحة لبعض أنواع التطبيقات والأُطر.
- عند اكتمال عملية الإنشاء، انتقِل إلى المتصفّح الذي فتحت فيه التطبيق وأعِد تحميل الصفحة.
عند إعادة التحميل، يتغيّر اللون في أعلى الجدول من الأزرق إلى الأخضر.
يتيح لك هذا الإعداد إعادة التحميل التلقائي لأي بنية، مع أي مكوّنات. عند استخدام Cloud Code وminikube، تتوفّر وظيفة إعادة تحميل الرمز السريع لأي شيء يتم تشغيله في Kubernetes.
6. تصحيح أخطاء تطبيقات Kubernetes المباشرة
لقد شغّلت التطبيق وأجريت تغييرًا وعرضت التطبيق قيد التشغيل. في هذا القسم، ستصحّح أخطاء التطبيق لتتأكّد من أنّه جاهز لإعادة إرساله إلى المستودع الرئيسي.
في مثال تصحيح الأخطاء هذا، سنركّز على قسم الرمز الخاص بعدّاد الصفحات.
- في "محرّر Cloud Shell"، افتح الملف main.go.
- اضبط نقطة توقّف في التطبيق من خلال النقر على الرقم 82 على يمين السطر (if err != nil {)
- في اللوحة الزرقاء في أسفل "محرِّر Cloud Shell"، انقر على Cloud Code
. - في اللوحة التي تظهر في أعلى الصفحة، اختَر "تصحيح الأخطاء على Kubernetes".
تتيح Cloud Code تشغيل أدوات تصحيح الأخطاء وربطها، ما يتيح لك الوصول إلى حالة التطبيق في الذاكرة، وليس فقط سلوك التطبيق الذي يراه المستخدم.
- في نهاية عملية النشر، سيظهر طلب في أعلى النافذة يطلب منك تأكيد الدليل في الحاوية التي تم نشر التطبيق فيها.

تأكَّد من ضبط القيمة على /go/src/app واضغط على Enter لقبول القيمة.
- انتظِر إلى أن ينتهي برنامج تصحيح الأخطاء من عملية النشر. ستعرف أنّ العملية اكتملت عندما يتحوّل شريط الحالة إلى اللون البرتقالي وتظهر التقارير
"Attached debugger to container "sample-app-dev-..." successfully". - في نافذة Cloud Code، مرِّر مؤشر الماوس فوق عنوان URL الأول في الناتج (http://localhost:8081)، ثم انقر على Open Web Preview (فتح معاينة الويب) في نصيحة الأداة التي تظهر. لن تنتهي الصفحة من التحميل، وهذا أمر متوقّع.
- عُد إلى بيئة التطوير المتكاملة (IDE) حيث يظهر برنامج تصحيح الأخطاء الآن. يظهر الرمز في علامة التبويب، وسترى حزمة الاستدعاء، والمتغيرات المتاحة في هذا الجزء من الرمز. يمكنك توسيع "المتغيرات - محلية" (Variables - Local) للاطّلاع على قيمة متغيّر العداد الحالي هنا.
- للسماح بتحميل الصفحة، انقر على رمز "متابعة" في نافذة تصحيح الأخطاء

- عند الانتهاء من تصحيح الأخطاء، انقر على زر الإيقاف لإنهاء كل سلسلة من سلاسل التنفيذ النشطة.
