JavaScript परियोजनाओं के लिए CI/CD: GitHub Actions A से Z तक

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

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

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

परिचय: JavaScript परियोजनाओं के लिए CI/CD क्यों आवश्यक है

आधुनिक वेब डेवलपमेंट स्वचालन के बिना अकल्पनीय है। हर दिन JavaScript (Node.js) डेवलपर्स को नियमित कार्यों का सामना करना पड़ता है: परीक्षण चलाना, लिंटर से कोड की जाँच करना, एप्लिकेशन को बिल्ड और डिप्लॉय करना। इन कार्यों को मैन्युअल रूप से करने में न केवल समय लगता है, बल्कि इसमें त्रुटियों की भी संभावना होती है। यहीं पर CI/CD (Continuous Integration / Continuous Deployment) मदद करता है - यह एक पद्धति है जो सॉफ्टवेयर के जीवनचक्र के सभी चरणों को स्वचालित करने की अनुमति देती है।

GitHub Actions, GitHub प्लेटफॉर्म पर एक अंतर्निहित स्वचालन उपकरण है, जो CI/CD पाइपलाइन सेटअप करने के लिए एकदम सही है। इस लेख में, हम JavaScript (Node.js) प्रोजेक्ट के लिए शुरू से पूर्ण स्वचालन चक्र सेटअप करने पर चर्चा करेंगे: परीक्षण चलाने से लेकर सर्वर पर डिप्लॉय करने तक। आप सीखेंगे कि वर्कफ़्लो कैसे बनाएं, कॉन्फ़िगरेशन फ़ाइलें कैसे लिखें और सामान्य गलतियों से कैसे बचें।



GitHub Actions की मूल बातें: संरचना और घटक

कोड लिखने से पहले, आइए GitHub Actions की प्रमुख अवधारणाओं को समझें। पूरी पाइपलाइन YAML फ़ाइलों में वर्णित होती है, जो आपके रिपॉजिटरी की .github/workflows निर्देशिका में संग्रहीत होती हैं।

वर्कफ़्लो के प्रमुख तत्व

  • Workflow - यह एक स्वचालित प्रक्रिया है जिसमें एक या अधिक Job (कार्य) शामिल होते हैं।
  • Job - एक Runner (वर्चुअल मशीन) पर निष्पादित होने वाले चरणों (Step) का एक सेट।
  • Step - एक अलग कमांड या क्रिया (Action)।
  • Event - एक ट्रिगर जो वर्कफ़्लो शुरू करता है (जैसे, push, pull request)।

JavaScript परियोजनाओं के लिए एक मानक वर्कफ़्लो इस प्रकार दिखता है:

name: Node.js के लिए CI/CD

on: push: branches: [ main ] pull_request: branches: [ main ]

jobs: build-and-test: runs-on: ubuntu-latest strategy: matrix: node-version: [18.x, 20.x] steps: - uses: actions/checkout@v4 - name: Node.js स्थापित करें uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: निर्भरताएँ स्थापित करें run: npm ci - name: लिंटिंग run: npm run lint - name: परीक्षण run: npm test

strategy.matrix पर ध्यान दें - यह एक साथ Node.js के कई संस्करणों पर कोड का परीक्षण करने की अनुमति देता है, जो लाइब्रेरी और पैकेज के लिए महत्वपूर्ण है।



Node.js प्रोजेक्ट के लिए चरण-दर-चरण CI/CD सेटअप

Express.js पर एक सामान्य वेब एप्लिकेशन के लिए पाइपलाइन सेटअप करने का पूरा उदाहरण देखें। आइए मूल फ़ाइल .github/workflows/node-ci.yml से शुरू करें।

चरण 1: बुनियादी कोड जाँच

name: Node.js CI

on: push: branches: [ develop, main ] pull_request: branches: [ main ]

jobs: quality: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Node.js सेटअप करें uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - name: निर्भरताएँ स्थापित करें run: npm ci - name: कोड लिंट करें run: npm run lint - name: यूनिट परीक्षण चलाएँ run: npm run test:unit - name: प्रोजेक्ट बिल्ड करें run: npm run build

मुख्य बिंदु:

  • cache: 'npm' - node_modules को कैश करता है, जिससे बाद के रन तेज़ हो जाते हैं।
  • npm ci - निर्भरताओं की एक स्वच्छ स्थापना, npm install से तेज़ और अधिक विश्वसनीय।
  • यूनिट और इंटीग्रेशन परीक्षणों को अलग करना (वैकल्पिक) तेज़ी से प्रतिक्रिया प्राप्त करने की अनुमति देता है।



चरण 2: डेटाबेस के साथ इंटीग्रेशन परीक्षण

वास्तविक डेटाबेस के साथ परीक्षण के लिए, GitHub Actions सेवाओं का उपयोग करें:

jobs:  integration-tests:    runs-on: ubuntu-latest                    

ब्लॉग

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