Cloud Shell से Spring बूट Java ऐप्लिकेशन बनाएं और लॉन्च करें

1. शुरू करने से पहले

Cloud Shell, ब्राउज़र पर काम करने वाला कमांड-लाइन टूल है. इसकी मदद से, Google Cloud के संसाधनों को ऐक्सेस किया जा सकता है. Cloud Shell की मदद से, Cloud Console प्रोजेक्ट और संसाधनों को आसानी से मैनेज किया जा सकता है. इसके लिए, आपको अपने सिस्टम पर Cloud SDK और अन्य टूल इंस्टॉल करने की ज़रूरत नहीं होती.

इस कोडलैब में, ब्राउज़र से बाहर निकले बिना, Cloud Shell का इस्तेमाल करके Spring Boot ऐप्लिकेशन बनाने और लॉन्च करने का तरीका बताया गया है. इसके लिए, Spring Boot की मदद से ऐप्लिकेशन बनाना लेख में दिए गए सैंपल कोड का इस्तेमाल करें.

ज़रूरी शर्तें

  • Java प्रोग्रामिंग लैंग्वेज और टूल के बारे में जानकारी
  • Vim, Emacs, और nano जैसे स्टैंडर्ड Linux टेक्स्ट एडिटर की जानकारी

आपको क्या करना होगा

  • Cloud Shell का इस्तेमाल करें.
  • Cloud Shell में एक सामान्य Spring Boot ऐप्लिकेशन बनाएं.
  • 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. इसके बाद, Google Cloud संसाधनों का इस्तेमाल करने के लिए, आपको Cloud Console में बिलिंग चालू करनी होगी. कोड लैब को पूरा करने में आपको कुछ डॉलर से ज़्यादा खर्च नहीं करने पड़ेंगे. हालांकि, अगर ज़्यादा संसाधनों का इस्तेमाल किया जाता है या उन्हें चालू रखा जाता है, तो यह खर्च बढ़ सकता है.

Google Cloud के नए उपयोगकर्ता, 300 डॉलर का क्रेडिट पा सकते हैं. इससे वे बिना किसी शुल्क के Google Cloud की सुविधाओं को आज़मा सकते हैं.

Cloud Shell

यह Debian पर आधारित वर्चुअल मशीन है. इसमें डेवलपमेंट के लिए ज़रूरी सभी टूल पहले से मौजूद हैं. यह 5 जीबी की होम डायरेक्ट्री उपलब्ध कराता है और Google Cloud में चलता है. इससे नेटवर्क की परफ़ॉर्मेंस और पुष्टि करने की प्रोसेस बेहतर होती है. इसका मतलब है कि इस कोडलैब के लिए, आपको सिर्फ़ एक ब्राउज़र की ज़रूरत होगी. हां, यह Chromebook पर भी काम करता है.

  1. Cloud Console से Cloud Shell चालू करने के लिए, बस 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 प्रोजेक्ट, Maven का pom.xml, एक Maven रैपर, और ऐप्लिकेशन का एंट्री पॉइंट होता है.

4. कोड एडिटर की मदद से नई RESTful सेवा बनाना

  1. Cloud Shell मेन्यू में, एडिटर खोलें 2109d75686c889a.pngपर क्लिक करके कोड एडिटर खोलें.
  2. एडिटर खुलने के बाद, helloworld/src/main/java/com/example/demo/DemoApplication.java फ़ाइल ढूंढें.

f26aa4faf9b35058.png

  1. कोड खुलने के बाद, जवाब देने के लिए नया RESTful कंट्रोलर बनाएं Hello. DemoApplication.java फ़ाइल में, मौजूदा Helloworld क्लास डेफ़िनिशन के अलावा एक नई 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. ऐप्लिकेशन शुरू होने के बाद, Cloud Shell टूलबार में वेब की झलक 1a94d5bd10bfc072.png पर क्लिक करें. इसके बाद, पोर्ट 8080 पर झलक देखें पर क्लिक करें.

6252b94905f3f7bd.png

आपके ब्राउज़र में एक टैब खुलता है और उस सर्वर से कनेक्ट होता है जिसे आपने शुरू किया था.

8281cd520b191970.png

6. बधाई हो

आपने Cloud Shell से सीधे तौर पर, नया Spring Boot Java वेब ऐप्लिकेशन बनाने और लॉन्च करने का तरीका सीखा.

ज़्यादा जानें