إنشاء تطبيق Spring Boot وإطلاقه في Java من Cloud Shell

1. قبل البدء

Cloud Shell هي أداة سطر أوامر مستنِدة إلى المتصفِّح تتيح لك الوصول إلى موارد Google Cloud. تسهِّل Cloud Shell إدارة مشاريعك على Cloud Console ومواردك بدون الحاجة إلى تثبيت حزمة تطوير البرامج (SDK) للسحابة الإلكترونية والأدوات الأخرى على نظامك.

ستستخدم Cloud Shell لإنشاء تطبيق Spring Boot وإطلاقه بدون مغادرة المتصفح على الإطلاق. ولإجراء ذلك، ستستخدم نموذج الرمز البرمجي من Build an App with Spring Boot.

المتطلبات الأساسية

  • الإلمام بلغة وأدوات البرمجة Java
  • معرفة أدوات تحرير النصوص القياسية في Linux، مثل Vim وEmacs وnano

المهام التي ستنفذها

  • استخدام Cloud Shell
  • يمكنك إنشاء تطبيق Spring Boot بسيط في Cloud Shell.
  • يمكنك تعديل التطبيق باستخدام أداة تعديل الرموز في Cloud Shell.
  • شغِّل التطبيق من Cloud Shell.

المتطلبات

  • مشروع على Google Cloud
  • متصفح، مثل Google Chrome

2. الإعداد والمتطلبات

إعداد بيئة ذاتية

  1. إذا لم يكن لديك حساب على Google، عليك إنشاء حساب. سجِّل الدخول إلى Cloud Console وأنشِئ مشروعًا جديدًا.

3c50189ec031c0cf.png

لقطة شاشة من 2016-02-10 12:45:26.png

يُرجى تذكُّر رقم تعريف المشروع، وهو اسم فريد في جميع مشاريع Google Cloud (سبق أن تم استخدام الاسم الوارد في الصورة ولن يكون مناسبًا لك). ستتم الإشارة إليها لاحقًا في الدرس التطبيقي حول الترميز باسم PROJECT_ID.

  1. بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام موارد Google Cloud. لن يكلفك تنفيذ الدرس التطبيقي حول الترميز أكثر من بضعة دولارات، ولكن قد تزيد التكاليف إذا قررت استخدام المزيد من الموارد أو إذا تركتها قيد التشغيل.

يُتاح لمستخدمي Google Cloud الجدد الحصول على فترة تجريبية مجانية بقيمة 300 دولار أمريكي.

Cloud Shell

هذا الجهاز الافتراضي المستند إلى نظام دبيان محمل بكل أدوات التطوير التي ستحتاج إليها. وتوفّر هذه الشبكة دليلاً رئيسيًا دائمًا بسعة 5 غيغابايت ويتم تشغيله في Google Cloud، ما يحسّن بشكل كبير من أداء الشبكة والمصادقة. وهذا يعني أنّ كل ما ستحتاجه في هذا الدرس التطبيقي حول الترميز هو متصفّح (نعم، يعمل على جهاز Chromebook).

  1. لتفعيل Cloud Shell من Cloud Console، ما عليك سوى النقر على تفعيل Cloud Shell b125d9eb26a46cc5.png (من المفترَض أن تستغرق عملية الإعداد والاتصال بالبيئة بضع دقائق فقط).

1067942a9a93f70.png

لقطة شاشة يوم 14-06-2017 في الساعة 10.13.43 مساءً.png

بعد الربط بتطبيق Cloud Shell، من المفترض أن يظهر لك أنّه قد تمت مصادقتك وأنّ المشروع سبق أن تم ضبطه على PROJECT_ID.

gcloud auth list

مخرجات الأمر

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

مخرجات الأمر

[core]
project = <PROJECT_ID>

إذا لم يتم ضبط المشروع لسبب ما، ما عليك سوى إصدار الأمر التالي:

gcloud config set project <PROJECT_ID>

هل تبحث عن PROJECT_ID؟ تحقَّق من المعرّف الذي استخدمته في خطوات الإعداد أو ابحث عنه في لوحة بيانات Cloud Console:

cc3895eeac80db2c.png

تضبط Cloud Shell أيضًا بعض متغيرات البيئة تلقائيًا، وهو ما قد يكون مفيدًا عند تشغيل الأوامر المستقبلية.

echo $GOOGLE_CLOUD_PROJECT

مخرجات الأمر

<PROJECT_ID>
  1. أخيرًا، قم بتعيين تهيئة المنطقة الافتراضية والمشروع.
gcloud config set compute/zone us-central1-f

يمكنك اختيار مجموعة متنوعة من المناطق المختلفة. لمزيد من المعلومات، راجع المناطق المناطق:

3- إعداد تطبيق Spring Boot جديد

بعد تثبيت أداة سطر الأوامر Spring Boot، يمكنك تهيئة وبدء تشغيل نافذة "Hello, World" جديدة تطبيق الويب.

$ curl https://start.spring.io/starter.tgz \
  -d dependencies=web \
  -d type=maven-project \
  -d baseDir=helloworld | tar -xzvf -

يؤدي ذلك إلى إنشاء دليل جديد باستخدام مشروع Maven جديد، بالإضافة إلى pom.xml وبرنامج تضمين Maven ونقطة دخول للتطبيق.

4. إنشاء خدمة RESTful جديدة باستخدام أداة تعديل الرموز

  1. افتح أداة تعديل الرموز من خلال النقر على فتح المحرِّر 2109d75686c889a.pngفي قائمة Cloud Shell.
  2. بعد فتح المحرِّر، ابحث عن ملف helloworld/src/main/java/com/example/demo/DemoApplication.java.

f26aa4faf9b35058.png

  1. بعد فتح الرمز، أنشِئ وحدة تحكّم REST جديدة للاستجابة للطلب Hello. في ملف DemoApplication.java، أضِف تعريفًا جديدًا لفئة Helloworld بالإضافة إلى التعريف الحالي.

src/main/java/com/example/demo/DemoApplication.java

package com.example;

...

// Add the import
import org.springframework.web.bind.annotation.*;

@SpringBootApplication
public class DemoApplication {
...
}

// Add the controller
@RestController
class Helloworld {
        @GetMapping("/")
        public String greet() {
                return "Hello!";
        }
}
  1. احفظ الملف.

5- تشغيل التطبيق محليًا

  1. افتح نافذة طرفية في أداة تعديل الرموز من خلال النقر على Terminal ثم على New Terminal من قائمة أداة التعديل.
  2. تأكَّد من ضبط JAVA_HOME على إصدار JDK الصحيح:
$ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
  1. يمكنك بدء تطبيق Spring Boot بشكل طبيعي باستخدام المكوِّن الإضافي Spring Boot.
$ cd $HOME/helloworld
$ ./mvnw -DskipTests spring-boot:run

a4c65d9e3f7494bf.png

  1. بعد بدء التطبيق، انقر على معاينة الويب 1a94d5bd10bfc072.png في شريط أدوات Cloud Shell، ثم انقر على معاينة على المنفذ 8080.

6252b94905f3f7bd.png

ستفتح علامة تبويب في المتصفّح وتتصل بالخادم الذي بدأته.

8281cd520b191970.png

6- تهانينا

لقد تعلمت إنشاء وإطلاق تطبيق Spring Boot Java جديد على الويب مباشرة من Cloud Shell.

مزيد من المعلومات