كيفية تشغيل Google Cloud Code محليًا
يمكن لتطوير التطبيقات السحابية الأصلية باستخدام Google Cloud Code أن يبسّط سير عملك بشكل كبير. كشخص منخرط بعمق في استراتيجيات السحابة أولاً، لاحظت التحديات الشائعة التي يواجهها المطورون عند الانتقال بين البيئات المحلية وعمليات النشر السحابية. غالبًا ما يقودنا السعي وراء الكفاءة والتكامل السلس إلى البحث عن أدوات يمكنها سد هذه الفجوة. يبرز Google Cloud Code كحل قوي، مصمم لجلب تجربة تطوير السحابة مباشرةً إلى بيئة التطوير المتكاملة (IDE) الخاصة بك.
Cloud Code هو إضافة شاملة تدمج خدمات Google Cloud مثل Google Kubernetes Engine (GKE) و Cloud Run مباشرةً في بيئة التطوير المتكاملة الخاصة بك. يسمح لك هذا التكامل ببناء وتشغيل وتصحيح أخطاء التطبيقات السحابية الأصلية ضمن بيئة التطوير المألوفة لديك، مما يلغي فعليًا الحاجة إلى التبديل المستمر للسياق. يدعم دورة حياة التطوير بأكملها، من الإنشاء الأولي إلى المراقبة المستمرة، ويوفر ملاحظات فورية في كل مرحلة. Cloud Code متاح لـ VS Code و IntelliJ، ويتم دمجه افتراضيًا في محرر Cloud Shell. .
ملخص سريع: ما يقدمه Cloud Code
- تكامل بيئة التطوير المتكاملة (IDE): يعمل مع VS Code و IntelliJ ومحرر Cloud Shell.
- دورة حياة تطوير كاملة: يدعم إنشاء، تشغيل، تصحيح أخطاء، ومراقبة التطبيقات السحابية الأصلية.
- دعم GKE و Cloud Run: يتكامل بسلاسة مع خدمات Google Kubernetes Engine و Cloud Run.
- المحاكاة المحلية: تطوير وتصحيح أخطاء خدمات Cloud Run محليًا باستخدام محاكي مدمج.
- المساعدة المدعومة بالذكاء الاصطناعي: يتكامل مع Gemini Code Assist لتوليد الشيفرة وحل المشكلات.
- إدارة الأسرار: دعم مدمج لـ Google Secret Manager.
- التخصيص: يسمح بإنشاء صور حاويات Cloud Shell مخصصة وتكوين البيئة.
وظائف Cloud Code
يوفر Cloud Code مجموعة واسعة من الميزات المصممة لتسريع تطوير التطبيقات السحابية الأصلية. يتكامل مع Google Cloud SDK لمصادقة مبسطة ويتضمن أمثلة قابلة للتنفيذ ومقتطفات مهيأة مسبقًا لمساعدتك في بدء المشاريع. . على الرغم من أنه مُحسّن بشكل أساسي لـ Google Cloud، إلا أنه مرن بما يكفي للعمل مع أي منصة سحابية.
تبسط الإضافة إنشاء مجموعات Google Cloud وتعزز تكامل الأدوات الأساسية مثل Cloud Source Repositories و Cloud Build و Cloud Client Libraries. بالنسبة للمطورين الذين يعملون مع Kubernetes، يدعم Cloud Code أدوات الحاوية القياسية لسطر الأوامر مثل Minikube و kubectl. . يتيح إنشاء وتشغيل تطبيقات GKE جديدة وتعديل ملفات YAML الموجودة. علاوة على ذلك، يسمح دعم Skaffold للوحدات النمطية بالتطوير المستقل وتصحيح أخطاء مكونات تطبيق GKE الفردية.
يبسّط Cloud Code أيضًا سير عمل التطوير لخدمات Cloud Run، مما يسهل إنشائها ونشرها ومراقبتها. إحدى المزايا الهامة هي القدرة على بناء وتصحيح أخطاء هذه الخدمات محليًا باستخدام محاكي Cloud Run المدمج، والذي يمكن أن يوفر وقتًا كبيرًا في النشر. توفر الإضافة مساعدة إضافية في ترحيل تطبيقات Linux إلى حاويات من خلال وظيفة container-diff المدمجة وتدعم بناء صور حاويات جاهزة للإنتاج مباشرةً من الشفرة المصدر باستخدام Google Cloud Buildpacks — كل ذلك دون الحاجة إلى Dockerfile.
تصبح إدارة البيانات الحساسة أمرًا سهلاً بفضل دعم Secret Manager المتكامل في Cloud Code. من خلال عرض Secret Manager المخصص، يمكنك إنشاء وعرض وتحديث المعلومات الحساسة بأمان مثل مفاتيح API وكلمات المرور. تتضمن الإضافة أيضًا مستعرض مكتبة API لاكتشاف وتفعيل واجهات برمجة تطبيقات (APIs) سحابية مختلفة، إلى جانب أدوات مدمجة لإدارة أجهزة Compute Engine الافتراضية وتطوير وكلاء Apigee API.

المصدر: sethvargo.com
توفر واجهة Secret Manager في Cloud Code إدارة آمنة ومركزية للبيانات الحساسة مثل مفاتيح API وبيانات الاعتماد، مباشرةً داخل بيئة التطوير المتكاملة لديك.
المساعدة المدعومة بالذكاء الاصطناعي
يدمج Cloud Code إمكانيات البرمجة المتقدمة المدعومة بالذكاء الاصطناعي من خلال Gemini Code Assist Standard و Enterprise. صُممت هذه الأدوات الذكية لمساعدتك في توليد الشيفرة وحل المشكلات بكفاءة أكبر، مما يبسط عملية التطوير بشكل كبير. من المهم ملاحظة أن Gemini Code Assist هو مكون إضافي منفصل عن Cloud Code ويتطلب اتصالاً بـ Google Cloud، بالإضافة إلى تفعيل أذونات IAM محددة، ليعمل بشكل صحيح.

المصدر: datacamp.com
يوفر Gemini Code Assist إمكانيات توليد الشيفرة وحل المشكلات المدعومة بالذكاء الاصطناعي مباشرةً داخل بيئة التطوير الخاصة بك، مما يعزز الإنتاجية.
Cloud Code في محرر Cloud Shell
يوفر محرر Cloud Shell، وهو بيئة تطوير وتشغيل عبر الإنترنت يمكن الوصول إليها مباشرةً من خلال متصفحك، إعدادًا مُهيأ مسبقًا ومُحسنًا خصيصًا لـ Cloud Code. تأتي هذه البيئة مزودة بأدوات مساعدة مُثبتة مسبقًا مثل أداة سطر الأوامر gcloud و kubectl، مما يجعلها مثالية لتطوير، بناء، تصحيح أخطاء، ونشر التطبيقات المستندة إلى السحابة دون إعداد إضافي.
طرفية Cloud Shell
يوفر Cloud Shell أداتين أساسيتين: Cloud Shell Terminal و Cloud Shell Editor. توفر الطرفية غلافًا سحابيًا كامل الميزات يعمل على جهاز Linux قائم على Debian خاص بالجلسة. تتضمن Google Cloud SDK وأدوات المطور الأساسية مثل git، kubectl، kubectx، curl، python3، و
tmux.
يستمر دليل $HOME الخاص بك في Cloud Shell عبر الجلسات، حيث يتم تخزينه في Cloud Storage. يمكنك تشغيل Cloud Shell بسهولة عبر console.cloud.google.com، حيث يتم اكتشاف معرّف مشروع GCP الخاص بك تلقائيًا. يدعم Cloud Shell علامات تبويب ونوافذ متعددة، ويضمن tmux المدمج استمرار الجلسة. بالإضافة إلى ذلك، يتوفر إعادة توجيه المنفذ التلقائي من خلال ميزة Web Preview، مما يبسط الوصول إلى التطبيقات قيد التشغيل.
محرر Cloud Shell
تم بناء محرر Cloud Shell على أساس المصدر المفتوح
Eclipse Theia project,
مما يوفر تجربة مستخدم مشابهة لـ VS Code. يمكنك الوصول إليه عبر سطر الأوامر (cloudshell edit)، من خلال قائمة Cloud Shell، أو مباشرةً عن طريق التوجه إلى عنوان URL ide.cloud.google.com. يتميز المحرر بطرفية مدمجة ويسمح بتخصيص واسع لإعداداته. لحالات الاستخدام المتقدمة، يمكنك إنشاء صور حاويات Cloud Shell مخصصة لتوفير مثيل خاص بالجلسة تمامًا مع حزم إضافية، وتحديد هذه الصور باستخدام ملف
Dockerfile.
يمكن بناء هذه الصور المخصصة محليًا واختبارها، ثم دفعها إلى Cloud Source Repository و Container Registry. لمزيد من المرونة، يمكن الوصول عن بعد عبر SSH إلى Cloud Shell من جهازك المحلي، ويمكن تثبيت دليلك الأساسي محليًا.
التطوير باستخدام Cloud Code محليًا
تم تصميم Cloud Code لدعم بيئات التطوير المحلية المختلفة. يسمح لك بدمج مجموعات من موفري السحابة الآخرين في ملف KubeConfig الخاص بك ويعمل بسلاسة مع Docker Desktop للمجموعات المحلية. للعمل بشكل صحيح، يجب أن يتضمن ملف ~/.kube/config القياسي الخاص بك المجموعة المحلية، والتي تحتاج أيضًا إلى تعيينها كالسياق الحالي.
إنشاء ونشر التطبيق المحلي
عند إنشاء تطبيق من قالب في Cloud Code، ستحدد نوع التطبيق (مثل تطبيق Kubernetes) ولغة البرمجة المفضلة لديك. عادةً ما تتبع تطبيقات الأمثلة بنية مماثلة، مع تخزين التكوينات في .vscode ومواصفات Pod في kubernetes-manifests. من الضروري استخدام مجموعة غير إنتاجية لأغراض التطوير والاختبار. قبل التنفيذ، تأكد من تعيين سياق Kubernetes بشكل صحيح. يوفر تكوين التنفيذ Cloud Code: Develop on Kubernetes خيارات لتخصيص النشر الخاص بك.
تكامل Minikube
يوفر Cloud Code تكاملاً قويًا مع Minikube. يمكنك بسهولة بدء مجموعات Minikube، وتشغيل تطبيقاتك عليها، ومراجعة تفاصيل النشر ضمن جلسات التطوير. تمكّن عناوين URL لإعادة توجيه المنفذ من الوصول المريح للمتصفح إلى تطبيقك قيد التشغيل. لتصحيح الأخطاء التفاعلي، يمكن فتح طرفية تفاعلية مباشرةً داخل حاوية عبر مستكشف جلسات التطوير. يمكن أيضًا إيقاف مجموعات Minikube مؤقتًا أو إيقافها حسب الحاجة.
تصحيح الأخطاء والتسجيل
تصحيح الأخطاء هو ميزة أساسية في Cloud Code، مما يسمح لك بتعيين نقاط توقف (breakpoints) في الشيفرة الخاصة بك للتحكم في جلسات تصحيح الأخطاء بفعالية. يتوفر تسجيل في الوقت الفعلي من Pods قيد التشغيل، يتم عرضه إما في إخراج الطرفية أو من خلال مستكشف Kubernetes، مما يوفر رؤى فورية حول سلوك تطبيقك. لتجنب تكبد تكاليف غير ضرورية، تذكر حذف الموارد في Google Cloud Console بمجرد الانتهاء من تطويرك أو اختبارك.
تطوير Cloud Functions
لتطوير Cloud Functions، يمكن تثبيت Functions Framework وتشغيله محليًا. يمكنك تنزيل الشيفرة المصدر لدالة منشورة من Google Cloud وتثبيت التبعيات المحلية داخل المجلد المحلي للدالة. يتم تشغيل Functions Framework باستخدام أوامر مثل npx functions-framework --target=entryPoint لـ Node.js أو functions-framework --target=entryPoint لـ Python. يمكن العثور على entryPoint لدالتك في ملف launch.json.
الاختبار المحلي لخدمات Cloud Run
يمكن أيضًا اختبار خدمات Cloud Run محليًا باستخدام Docker أو Docker مع Google Cloud Access. يُستخدم متغير البيئة PORT لتحديد المنفذ الذي يتلقى تطبيقك من خلاله طلبات HTTP/HTTPS. عند التشغيل محليًا باستخدام Docker، يلزم وجود حساب خدمة مع زوج من المفاتيح لأن حساب الخدمة الافتراضي غير متاح في هذا السياق. يمكن تكوين Google Cloud Client Libraries للمصادقة مع خدمات Google Cloud داخل الحاوية المحلية الخاصة بك. توفر أداة سطر الأوامر gcloud beta code dev طريقة مريحة لمحاكاة Cloud Run، وبناء الحاويات من المصدر وإعادة بنائها تلقائيًا عند حدوث تغييرات.
الأسئلة الشائعة حول التطوير المحلي باستخدام Cloud Code
فيما يلي بعض الأسئلة والأجوبة الشائعة المتعلقة بالتطوير المحلي باستخدام Google Cloud Code:
- ما هي بيئات التطوير المتكاملة (IDEs) التي يدعمها Cloud Code؟
يتوفر Cloud Code لـ VS Code و IntelliJ، ويتم دمجه افتراضيًا في محرر Cloud Shell.
- هل يمكنني استخدام Cloud Code مع موفري السحابة الآخرين؟
على الرغم من أنه مُحسّن لـ Google Cloud، يمكن لـ Cloud Code العمل مع أي منصة سحابية. وهو يدعم إضافة مجموعات من موفرين آخرين إلى KubeConfig الخاص بك.
- هل أحتاج إلى Docker للتطوير المحلي لـ Cloud Run؟
نعم، يمكن اختبار خدمات Cloud Run محليًا باستخدام Docker أو Docker مع Google Cloud Access. قد تحتاج إلى حساب خدمة مع زوج من المفاتيح للمصادقة.
- كيف أقوم بتصحيح أخطاء التطبيقات التي تعمل في Kubernetes باستخدام Cloud Code؟
يسمح لك Cloud Code بتعيين نقاط توقف في الشيفرة الخاصة بك وعرض سجلات في الوقت الفعلي من Pods قيد التشغيل مباشرةً في بيئة التطوير المتكاملة لديك أو من خلال مستكشف Kubernetes.
- هل يتم تفعيل Gemini Code Assist تلقائيًا مع Cloud Code؟
لا، Gemini Code Assist هو مكون إضافي منفصل يتطلب اتصالاً بـ Google Cloud وتفعيل أذونات IAM ليعمل.
الخلاصة
يعمل Google Cloud Code على تبسيط عملية تطوير التطبيقات السحابية الأصلية داخل بيئة التطوير المتكاملة (IDE) بشكل كبير. من خلال دمج خدمات Google Cloud بسلاسة، وتقديم مساعدة مدعومة بالذكاء الاصطناعي، وتوفير إمكانيات قوية للتطوير المحلي وتصحيح الأخطاء، يهدف إلى تعزيز إنتاجية المطور وتقليل الاحتكاك المرتبط غالبًا بعمليات النشر السحابية. يمكن أن يؤدي تبني Cloud Code إلى تجربة تطوير أكثر كفاءة ومتعة، مما يسمح لك بالتركيز أكثر على الابتكار وأقل على تعقيدات البيئة.
المصدر: YouTube