Gemini CLI और CI/CD Skills की मदद से ऐप्लिकेशन डिप्लॉय करना

1. परिचय

इस कोडलैब में, आपको Gemini CLI और सीआई/सीडी एक्सटेंशन का इस्तेमाल करके, प्लैटफ़ॉर्म इंजीनियरिंग के "ज़ीरो-टू-हीरो" वर्कफ़्लो का अनुभव मिलेगा. आपको एक एंटरप्राइज़ डेवलपर की भूमिका निभानी होगी. इस डेवलपर ने कोई ऐप्लिकेशन (जैसे, Spring Petclinic डेमो या Python Flask ऐप्लिकेशन) बनाया है. अब वह इसे Google Cloud पर डिप्लॉय करके शेयर करना चाहता है.

मुश्किल पाइपलाइन को मैन्युअल तरीके से कॉन्फ़िगर करने के बजाय, Gemini को निर्देश देने के लिए नैचुरल लैंग्वेज का इस्तेमाल किया जाएगा. यह एजेंट आपके प्रोजेक्ट का विश्लेषण करेगा. साथ ही, Google Cloud Run जैसे छोटे पैमाने पर टारगेट रनटाइम का सुझाव देगा. इसके अलावा, यह लीक हुए सीक्रेट के लिए सुरक्षा स्कैन करेगा और डिप्लॉयमेंट को मैनेज करेगा. साथ ही, आपको काम करने वाला यूआरएल देगा.

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

  • किसी रिपॉज़िटरी को क्लोन करें. इसके लिए, अपनी रिपॉज़िटरी या Spring Petclinic जैसे डेमो ऐप्लिकेशन का इस्तेमाल किया जा सकता है.
  • Gemini CLI और CI/CD एक्सटेंशन को इंस्टॉल और कॉन्फ़िगर करें.
  • डप्लॉयमेंट स्किल को ट्रिगर करने के लिए, deploy my application जैसे प्रॉम्प्ट का इस्तेमाल करें.
  • Gemini को प्रोजेक्ट का विश्लेषण करते हुए देखें. साथ ही, Cloud Run का सुझाव देते हुए, सुरक्षा से जुड़ी जांच करते हुए, और ऐप्लिकेशन को डिप्लॉय करते हुए देखें.
  • चल रहे ऐप्लिकेशन की पुष्टि करें.

आपको किन चीज़ों की ज़रूरत होगी

  • कोई वेब ब्राउज़र, जैसे कि Chrome.
  • बिलिंग की सुविधा वाला Google क्लाउड प्रोजेक्ट.

यह कोडलैब, सभी लेवल के डेवलपर के लिए है. इसमें शुरुआती डेवलपर भी शामिल हैं.

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

बिलिंग सेट अप

Google Cloud प्रोजेक्ट बनाना या चुनना

Google Cloud प्रोजेक्ट बनाना

  1. Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर, Google Cloud प्रोजेक्ट चुनें या बनाएं.
  2. पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू हो. किसी प्रोजेक्ट के लिए बिलिंग चालू है या नहीं, यह देखने का तरीका जानें.

Cloud Shell शुरू करना

Cloud Shell, Google Cloud में चलने वाला एक कमांड-लाइन एनवायरमेंट है. इसमें ज़रूरी टूल पहले से लोड होते हैं.

  1. Google Cloud कंसोल में सबसे ऊपर मौजूद, Cloud Shell चालू करें पर क्लिक करें.
  2. Cloud Shell से कनेक्ट होने के बाद, अपने क्रेडेंशियल की पुष्टि करें:
    gcloud auth list
    
  3. पुष्टि करें कि आपका प्रोजेक्ट कॉन्फ़िगर किया गया है:
    gcloud config get project
    
  4. अगर आपका प्रोजेक्ट उम्मीद के मुताबिक सेट नहीं है, तो इसे सेट करें:
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

एपीआई चालू करें

इस लैब के लिए ज़रूरी सभी एपीआई चालू करने के लिए, Cloud Shell में यह कमांड चलाएं:

gcloud services enable \
  cloudbuild.googleapis.com \
  run.googleapis.com \
  artifactregistry.googleapis.com

3. Gemini CLI को सेटअप करना

इस चरण में, Gemini CLI और CI/CD एक्सटेंशन को इंस्टॉल और कॉन्फ़िगर किया जाएगा.

  1. पक्का करें कि Gemini CLI इंस्टॉल हो. अगर आपने अब तक इसे इंस्टॉल नहीं किया है, तो Gemini CLI का इस्तेमाल शुरू करने के बारे में जानकारी देने वाली गाइड में दिए गए निर्देशों का पालन करें.
  2. साइन इन करें: हमारा सुझाव है कि आप अपने Google खाते से साइन इन करें. ज़्यादा जानकारी के लिए, पुष्टि करने से जुड़ी गाइड देखें.
  3. सीआई/सीडी एक्सटेंशन इंस्टॉल करें: GitHub से एक्सटेंशन इंस्टॉल करने के लिए, यह निर्देश चलाएं:
    gemini extensions install https://github.com/gemini-cli-extensions/cicd
    
    इंस्टॉल किए गए एक्सटेंशन की सूची देखकर, एक्सटेंशन इंस्टॉल होने की पुष्टि की जा सकती है:
    gemini extensions list
    
  4. ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (एडीसी) कॉन्फ़िगर करें: CI/CD एक्सटेंशन के लिए, एडीसी को कॉन्फ़िगर करना ज़रूरी है. रन:
    gcloud auth login
    gcloud auth application-default login
    
  5. डिफ़ॉल्ट प्रोजेक्ट और क्षेत्र सेट करना: gcloud को डिफ़ॉल्ट प्रोजेक्ट और एडीसी के लिए कोटा प्रोजेक्ट के साथ कॉन्फ़िगर करना ज़रूरी है. को अपनी असल वैल्यू से बदलें. उदाहरण के लिए, my-project:
    gcloud config set project <PROJECT_ID>
    gcloud auth application-default set-quota-project <PROJECT_ID>
    

4. ऐप्लिकेशन डिप्लॉय करना

अब ऐप्लिकेशन को डिप्लॉय करने के लिए, Gemini CLI और CI/CD एक्सटेंशन का इस्तेमाल किया जा सकता है.

रिपॉज़िटरी को क्लोन करना

इस लैब में, हम लोकप्रिय Spring Petclinic सैंपल ऐप्लिकेशन का इस्तेमाल करेंगे. अगर आपके पास कोई ऐसा ऐप्लिकेशन है जो काम करने के लिए, Python/Flask, Java/Spring Boot जैसे किसी रनटाइम का इस्तेमाल करता है, तो उसका भी इस्तेमाल किया जा सकता है.

  1. डेटा स्टोर करने की जगह को क्लोन करें और डायरेक्ट्री में जाएं:
    git clone https://github.com/spring-projects/spring-petclinic.git
    cd spring-petclinic
    

Gemini को डिप्लॉय करने के लिए प्रॉम्प्ट देना

  1. प्रोजेक्ट डायरेक्ट्री से Gemini CLI लॉन्च करें:
    gemini
    
  2. Gemini CLI शेल में जाने के बाद, अपने ऐप्लिकेशन को डिप्लॉय करने के लिए CI/CD एक्सटेंशन का इस्तेमाल करें. इसके लिए, आम बोलचाल की भाषा में प्रॉम्प्ट का इस्तेमाल किया जा सकता है:
    deploy my application
    

इसके बाद क्या होगा

Gemini, google-cicd-deploy स्किल को चालू करेगा और कई कार्रवाइयां करेगा:

  • प्रोजेक्ट का विश्लेषण करें: इससे ऐप्लिकेशन टाइप (जैसे, Spring Boot) की पहचान की जाएगी.
  • रनटाइम का सुझाव दें: यह आपके लिए सही रनटाइम का सुझाव देगा, जैसे कि Google Cloud Run.
  • सुरक्षा स्कैन: यह MCP टूल का इस्तेमाल करके, लीक हुए सीक्रेट को स्कैन करेगा. अगर आपसे कहा जाए, तो टूल को चलाने की अनुमति दें.
  • कॉन्फ़िगरेशन एक्सट्रैक्ट करना: यह आपके मौजूदा प्रोजेक्ट एनवायरमेंट को पढ़ने के लिए, gcloud का इस्तेमाल करेगा.
  • पैरामीटर का सुझाव देना: यह डिप्लॉयमेंट पैरामीटर के लिए, समझदारी भरे डिफ़ॉल्ट सुझाव देगा और आपसे पुष्टि करने के लिए कहेगा.

सुझाए गए कॉन्फ़िगरेशन की समीक्षा करें और डिप्लॉयमेंट की पुष्टि करें.

यह प्रोसेस पूरी होने के बाद, Gemini आपको चालू ऐप्लिकेशन का यूआरएल देगा.

5. व्यवस्थित करें

अपने Google Cloud खाते से लगातार शुल्क लिए जाने से बचने के लिए, इस कोडलैब के दौरान बनाई गई संसाधन मिटाएं.

अगर आपने Cloud Run पर डिप्लॉय किया है, तो इस सेवा को मिटाने के लिए यहां दी गई कमांड का इस्तेमाल करें. की जगह अपने कंप्यूट रीजन का नाम डालें. उदाहरण के लिए, us-central1:

gcloud run services delete spring-petclinic --region <REGION>

इसके अलावा, अगर आपने इस कोडलैब के लिए कोई प्रोजेक्ट बनाया है, तो आपके पास पूरे प्रोजेक्ट को मिटाने का विकल्प है:

gcloud projects delete <YOUR_PROJECT_ID>

6. बधाई हो

बधाई हो! आपने नैचुरल लैंग्वेज प्रॉम्प्ट का इस्तेमाल करके, Gemini CLI और CI/CD एक्सटेंशन की मदद से, Google Cloud Run पर ऐप्लिकेशन डिप्लॉय कर लिया है.

आपने क्या सीखा

  • Gemini CLI और CI/CD एक्सटेंशन को इंस्टॉल और कॉन्फ़िगर करने का तरीका.
  • डिप्लॉयमेंट फ़्लो को ट्रिगर करने के लिए, नैचुरल लैंग्वेज का इस्तेमाल कैसे करें.
  • Gemini, आपके प्रोजेक्ट का विश्लेषण कैसे करता है, सुरक्षा स्कैन को कैसे मैनेज करता है, और रनटाइम के सुझाव कैसे देता है.

अगले चरण

  • CI/CD एक्सटेंशन की मदद से, ज़्यादा ऐडवांस प्रॉम्प्ट एक्सप्लोर करें. जैसे, पूरी पाइपलाइन डिज़ाइन करना या Terraform जनरेट करना.
  • CI/CD एक्सटेंशन देखें.
  • Developer Connect के बारे में ज़्यादा जानें.

रेफ़रंस के लिए दस्तावेज़