פיתוח והשקה של אפליקציית 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.

מה תצטרכו

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

הגדרת סביבה בקצב אישי

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

3c50189ec031c0cf.png

Screenshot from 2016-02-10 12:45:26.png

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

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

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

Cloud Shell

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

  1. כדי להפעיל את Cloud Shell ממסוף Cloud, פשוט לוחצים על הפעלת 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 Wrapper ולנקודת כניסה לאפליקציה.

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. מוודאים שגרסת ה-JDK הנכונה מוגדרת ב-JAVA_HOME:
$ 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. מזל טוב

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

מידע נוסף