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

1. قبل البدء

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

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

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

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

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

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

المتطلبات

  • مشروع على السحابة الإلكترونية من Google
  • متصفّح، مثل 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

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

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

1067942a9a93f70.png

Screen Shot 2017-06-14 at 10.13.43 PM.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، وبرنامج تضمين Maven، ونقطة دخول التطبيق.

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

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

f26aa4faf9b35058.png

  1. بعد فتح الرمز، أنشئ وحدة تحكّم RESTful جديدة للرد على 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.

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