इस प्रोजेक्ट के बारे में

Defang GitHub Action एक CI/CD इंटीग्रेशन है जो Defang प्लेटफ़ॉर्म के माध्यम से Compose-आधारित प्रोजेक्ट्स को प्रमुख क्लाउड प्रदाताओं पर तैनात करने की प्रक्रिया को सुव्यवस्थित करता है। यह आपके अपने AWS, Azure, या GCP खातों के साथ-साथ Defang Playground पर तैनाती का समर्थन करता है। मुख्य विशेषताओं में शामिल हैं: - **सरल तैनाती**: अपने GitHub वर्कफ़्लो में एक ही चरण जोड़कर Compose-आधारित प्रोजेक्ट तैनात करें। एक्शन को `contents: read` और `id-token: write` अनुमतियों की आवश्यकता होती है। - **सीक्रेट प्रबंधन**: GitHub Actions सीक्रेट्स को Defang कॉन्फ़िग मानों के रूप में सुरक्षित रूप से क्लाउड पर भेजें। आप `config-env-vars` इनपुट के माध्यम से निर्दिष्ट करते हैं कि कौन से पर्यावरण चर प्रकाशित करने हैं, यह सुनिश्चित करते हुए कि केवल स्पष्ट रूप से सूचीबद्ध सीक्रेट्स ही क्लाउड पर भेजे जाएं। - **उपनिर्देशिका प्रोजेक्ट्स**: रिपॉजिटरी रूट के बजाय उपनिर्देशिका में स्थित Compose फ़ाइल को इंगित करने के लिए `cwd` इनपुट का उपयोग करें। - **CLI वर्जन नियंत्रण**: एक विशिष्ट Defang CLI वर्जन (जैसे, `v3.5.2`) पिन करें, नवीनतम अस्थिर बिल्ड के लिए `nightly` का उपयोग करें, या स्रोत से CLI बनाने के लिए Git ref (ब्रांच नाम या कमिट SHA) पास करें। - **कस्टम कमांड**: `command` इनपुट के माध्यम से डिफ़ॉल्ट `compose up` कमांड को किसी भी Defang CLI कमांड और तर्कों के साथ ओवरराइड करें। - **आउटपुट कैप्चर**: `capture-output: true` का उपयोग करके वैकल्पिक रूप से कमांड के stdout को चरण आउटपुट (`outputs.stdout`) के रूप में कैप्चर करें। यह डिफ़ॉल्ट रूप से अक्षम है क्योंकि बड़ी तैनाती GitHub Actions मेमोरी सीमा से अधिक हो सकती है। - **डिप्लॉयमेंट सारांश**: `compose up` चलाते समय, एक्शन स्वचालित रूप से `defang services --json` कॉल करता है और तैनात सेवाओं की एक तालिका (सार्वजनिक एंडपॉइंट्स के साथ क्लिक करने योग्य लिंक के रूप में) GitHub जॉब सारांश में लिखता है। यह प्राथमिक सार्वजनिक HTTPS एंडपॉइंट को `endpoint` आउटपुट के रूप में भी उजागर करता है, जिसे जॉब के `environment.url` में जोड़ा जा सकता है ताकि रन पेज, Environments टैब, और रिपो साइडबार पर क्लिक करने योग्य "View deployment" लिंक मिल सके। सारांश को `summary` इनपुट के साथ टॉगल किया जा सकता है। - **अतिरिक्त इनपुट**: कस्टम Compose फ़ाइल पथ निर्दिष्ट करने के लिए `compose-files`, डिप्लॉयमेंट स्टैक चुनने के लिए `stack`, और विस्तृत लॉगिंग के लिए `verbose` का समर्थन करता है। एक्शन को डिप्लॉयमेंट वर्कफ़्लो को संक्षिप्त रखने के लिए डिज़ाइन किया गया है, साथ ही कॉन्फ़िगरेशन, वर्जनिंग, और आउटपुट हैंडलिंग पर सूक्ष्म नियंत्रण प्रदान करता है।