Java के लिए CI/CD पाइपलाइन: डिप्लॉयमेंट से न डरने के लिए शुरू से सेटअप

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

क्या आप अभी भी SSH के माध्यम से Java एप्लिकेशन डिप्लॉय कर रहे हैं?

\n\n

यदि आपने कभी प्रोडक्शन में Java प्रोजेक्ट को मैन्युअल रूप से सेटअप किया है — mvn clean install, scp सर्वर पर, प्रक्रिया को मारना, फिर से शुरू करना — तो आप उस भावना को जानते हैं: ऐसा लगता है कि सब कुछ काम कर रहा है, लेकिन हर डिप्लॉय एक बॉस फाइट की तरह है। एक भूला हुआ फ्लैग, Java का एक गलत वर्जन — और एप्लिकेशन क्रैश हो जाता है, और आपको रात 3 बजे 'सर्वर जवाब नहीं दे रहा' का संदेश मिलता है।

\n\n

आज हम सीखेंगे कि शुरू से Java के लिए CI/CD पाइपलाइन कैसे बनाई जाए। इससे कोई फर्क नहीं पड़ता कि आप Spring Boot, Micronaut या पुराने Java EE का उपयोग कर रहे हैं — यह पाइपलाइन आपकी नसों और समय को बचाएगी। हम Jenkins, Maven, Docker और GitHub का उपयोग करेंगे। सब कुछ वास्तविक होगा: कोड, कॉन्फ़िग और लाइव उदाहरणों के साथ।

\n\n
\n\n

CI/CD क्या है और Java डेवलपर को इसकी आवश्यकता क्यों है?

\n\n

CI/CD (Continuous Integration / Continuous Delivery) — यह सिर्फ एक फैशनेबल शब्द नहीं है। यह एक प्रक्रिया है जो आपके कोड को 'घुटनों पर लिखा' से 'सर्वर पर स्थिर रूप से काम करने' में बदल देती है, बिना आपकी भागीदारी के।

\n\n
    \n
  • Continuous Integration — आपका हर कमिट स्वचालित रूप से बिल्ड और टेस्ट होता है। यदि टेस्ट फेल होते हैं — तो आपको तुरंत पता चल जाता है, एक हफ्ते बाद नहीं।
  • \n
  • Continuous Delivery — सफल बिल्ड के बाद, कोड स्वचालित रूप से टेस्ट या प्रोडक्शन सर्वर पर डिप्लॉय हो जाता है।
  • \n
\n\n

Java के लिए यह विशेष रूप से महत्वपूर्ण है: Maven/Gradle के माध्यम से बिल्ड, unit-टेस्ट, इंटीग्रेशन टेस्ट, कोड स्टाइल चेक — यह सब स्वचालित किया जा सकता है और किया जाना चाहिए। अन्यथा, आप फीचर लिखने के बजाय रूटीन पर घंटों बर्बाद करेंगे।

\n\n
\n\n

चरण 1. वातावरण तैयार करना: हमें क्या चाहिए

\n\n

पाइपलाइन लिखने से पहले, आइए सुनिश्चित करें कि हमारे पास सभी उपकरण हैं। हमारे Java के लिए CI/CD पाइपलाइन के लिए आवश्यकता होगी:

\n\n
    \n
  • GitHub (या GitLab/Bitbucket) — कोड के लिए रिपॉजिटरी।
  • \n
  • Jenkins — ऑटोमेशन सर्वर। इसे लोकली या VPS पर चलाया जा सकता है।
  • \n
  • Maven — Java प्रोजेक्ट बिल्डर।
  • \n
  • Docker — एप्लिकेशन को कंटेनराइज़ करने के लिए।
  • \n
  • सर्वर (या क्लाउड) — जहाँ हम डिप्लॉय करेंगे।
  • \n
\n\n

Ubuntu पर Jenkins इंस्टॉल करें (यदि आपका OS अलग है — कोई बात नहीं, सिद्धांत वही है):

\n\n
sudo apt update\nsudo apt install openjdk-11-jdk\nwget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -\nsudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'\nsudo apt update\nsudo apt install jenkins\nsudo systemctl start jenkins\n
\n\n

इंस्टॉलेशन के बाद, http://आपका-सर्वर:8080 खोलें और प्रारंभिक सेटअप करें। प्लगइन्स इंस्टॉल करना न भूलें: Git, Maven Integration, Docker Pipeline, Blue Ocean (सुंदर इंटरफ़ेस के लिए)।

\n\n
\n\n

चरण 2. एक सरल Java प्रोजेक्ट (Spring Boot) लिखना

\n\n

अभ्यास करने के लिए, एक न्यूनतम Spring Boot सेवा बनाते हैं। यदि आपके पास पहले से कोई प्रोजेक्ट है — तो इस चरण को छोड़ दें।

\n\n
// Main.java\npackage com.example.demo;\n\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.web.bind.annotation.GetMapping;\nimport org.springframework.web.bind.annotation.RestController;\n\n@SpringBootApplication\n@RestController\npublic class DemoApplication {\n\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class, args);\n    }\n\n    @GetMapping("/")\n    public String hello() {\n        return "Hello from CI/CD pipeline!";\n    }\n}\n
\n\n

डिपेंडेंसी के साथ pom.xml न भूलें। सामान्य Spring Boot starter + Maven compiler plugin। यह हमारा परीक्षण खरगोश है।

\n\n
\n\n

चरण 3. Jenkinsfile बनाना — पाइपलाइन का दिल

\n\n

Jenkinsfile — यह डिक्लेरेटिव

ब्लॉग

पुस्तक अनुशंसाएँ