API डिप्लॉयमेंट
ChurchApps API Serverless Framework का उपयोग करके AWS Lambda फंक्शन के रूप में डिप्लॉय किए जाते हैं। यह पृष्ठ स्टेजिंग और प्रोडक्शन एनवायरनमेंट के लिए बिल्ड, डिप्लॉय और कॉन्फ़िगरेशन वर्कफ़्लो को कवर करता है।
शुरू करने से पहले
- API को स्थानीय रूप से सेटअप करें -- देखें स्थानीय API सेटअप
- अपनी मशीन पर AWS क्रेडेंशियल कॉन्फ़िगर करें
- सुनिश्चित करें कि आपके पास लक्ष्य AWS अकाउंट तक पहुँच है
बिल्ड
API एक समर्पित TypeScript कॉन्फ़िग का उपयोग करके प्रोडक्शन के लिए बनाए जाते हैं:
npm run build:prod
यह Lambda रनटाइम के लिए प्रोजेक्ट कंपाइल करने के लिए tsconfig.prod.json का उपयोग करता है।
डिप्लॉय
स्टेजिंग पर डिप्लॉय करें:
npm run deploy-staging
प्रोडक्शन पर डिप्लॉय करें:
npm run deploy-prod
क्या बनाया जाता है
प्रत्येक API डिप्लॉयमेंट निम्नलिखित AWS Lambda फंक्शन बनाता या अपडेट करता है:
| फंक्शन | उद्देश्य |
|---|---|
web | API Gateway के माध्यम से HTTP अनुरोध हैंडलर |
socket | WebSocket कनेक्शन हैंडलर |
timer15Min | शेड्यूल किया गया कार्य जो हर 15 मिनट में चलता है |
timerMidnight | शेड्यूल किया गया कार्य जो दैनिक मध्यरात्रि में चलता है |
एनवायरनमेंट कॉन्फ़िगरेशन
डिप्लॉय किए गए एनवायरनमेंट में, कॉन्फ़िगरेशन .env फ़ाइलों के बजाय AWS SSM Parameter Store से पढ़ा जाता है। यह सीक्रेट को डिप्लॉयमेंट पैकेज से बाहर रखता है और पुनः डिप्लॉय किए बिना कॉन्फ़िगरेशन परिवर्तन की अनुमति देता है।
प्रोडक्शन क्रेडेंशियल को कभी रिपॉज़िटरी में कमिट न करें। सभी संवेदनशील कॉन्फ़िगरेशन AWS SSM Parameter Store में संग्रहीत होना चाहिए और रनटाइम पर एक्सेस किया जाना चाहिए।
प्रोडक्शन को प्रभावित किए बिना डिप्लॉयमेंट का परीक्षण करने के लिए, हमेशा पहले npm run deploy-staging का उपयोग करके स्टेजिंग पर डिप्लॉय करें और प्रोड पर प्रमोट करने से पहले परिवर्तन सत्यापित करें।
संबंधित लेख
- स्थानीय API सेटअप -- विकास के लिए API सेटअप करना
- मॉड्यूल संरचना -- Lambda फंक्शन आर्किटेक्चर को समझना
- वेब ऐप डिप्लॉयमेंट -- फ्रंटएंड एप्लिकेशन डिप्लॉय करना