פיתוח והשקה של אפליקציית Spring Boot Java מ-Cloud Shell

1. לפני שמתחילים

Cloud Shell הוא כלי שורת פקודה מבוסס-דפדפן שמאפשר לגשת למשאבים של Google Cloud. בעזרת Cloud Shell קל לנהל את הפרויקטים והמשאבים ב-Cloud Console, בלי להתקין את Cloud SDK וכלים אחרים במערכת.

תשתמשו ב-Cloud Shell כדי ליצור ולהפעיל אפליקציית Springboot מבלי לצאת מהדפדפן. כדי לעשות זאת, צריך להשתמש בקוד לדוגמה מבניית אפליקציה באמצעות אתחול אביב.

דרישות מוקדמות

  • היכרות עם שפת התכנות והכלים של Java
  • ידע בעורכי טקסט סטנדרטיים של Linux, כגון Vim, Emacs ו-nano

מה תעשו

  • שימוש ב-Cloud Shell.
  • יוצרים אפליקציה פשוטה לאתחול Spring ב-Cloud Shell.
  • עורכים את האפליקציה באמצעות עורך הקוד ב-Cloud Shell.
  • מפעילים את האפליקציה מ-Cloud Shell.

מה צריך להכין

  • פרויקט ב-Google Cloud
  • דפדפן, למשל Google Chrome

2. הגדרה ודרישות

הגדרת סביבה בקצב עצמאי

  1. אם עדיין אין לכם חשבון Google, עליכם ליצור חשבון. נכנסים למסוף Cloud ויוצרים פרויקט חדש.

3c50189ec031c0cf.png

צילום מסך מ-10-02-2016 12:45:26.png

חשוב לזכור את מזהה הפרויקט, שם ייחודי לכל הפרויקטים ב-Google Cloud (סליחה, השם בתמונה כבר תפוס ולא יעבוד בשבילכם!). בהמשך ב-Codelab, המערכת תתייחס אליה בתור PROJECT_ID.

  1. לאחר מכן, צריך להפעיל את החיוב במסוף Cloud כדי להשתמש במשאבים של Google Cloud. ההרצה של Codelab לא אמורה לעלות לך יותר מכמה דולרים, אבל זה יכול להיות גבוה יותר אם תחליטו להשתמש במשאבים רבים יותר או אם תשאירו אותם פועלים.

משתמשים חדשים ב-Google Cloud זכאים לתקופת ניסיון בחינם בשווי 300$.

Cloud Shell

המכונה הווירטואלית הזו שמבוססת על Debian נטענת עם כל הכלים למפתחים שדרושים לכם. יש בה ספריית בית בנפח מתמיד של 5GB והיא פועלת ב-Google Cloud, מה שמשפר משמעותית את ביצועי הרשת והאימות. כלומר, כל מה שדרוש ל-Codelab הזה הוא דפדפן (כן, הוא פועל ב-Chromebook).

  1. כדי להפעיל את Cloud Shell ממסוף Cloud, לוחצים על Activate Cloud Shell b125d9eb26a46cc5.png (ההקצאה וההתחברות לסביבה אמורות להימשך כמה דקות).

1067942a9a93f70.png

צילום מסך מתאריך 2017-06-14 בשעה 22: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:

cc3895eeac80db2c.png

Cloud Shell גם מגדירה משתני סביבה כברירת מחדל, והוא יכול להיות שימושי כשמריצים פקודות עתידיות.

echo $GOOGLE_CLOUD_PROJECT

פלט הפקודה

<PROJECT_ID>
  1. בשלב האחרון, מגדירים את ברירת המחדל של האזור והפרויקט.
gcloud config set compute/zone us-central1-f

אפשר לבחור מגוון אזורים שונים. מידע נוסף זמין במאמר אזורים ו אזורים.

3. אתחול אפליקציה חדשה של Springboo

לאחר התקנת כלי שורת הפקודה 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, wrapper של Maven ונקודת כניסה לאפליקציה.

4. יצירה של שירות RESTful חדש באמצעות עורך הקוד

  1. כדי לפתוח את עורך הקוד, לוחצים על Open Editor 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. אחרי שהאפליקציה מתחילה, לוחצים על Web Preview1a94d5bd10bfc072.png בסרגל הכלים של Cloud Shell, ואז לוחצים על Preview on Port 8080.

6252b94905f3f7bd.png

כרטיסייה בדפדפן נפתחת ומתחברת לשרת שהתחלתם.

8281cd520b191970.png

6. מזל טוב

למדתם לפתח ולהשיק אפליקציית אינטרנט חדשה של Spring Boot Java ישירות מ-Cloud Shell.

מידע נוסף