ऐप्लिकेशन होस्टिंग के साथ मोनो रिपॉज़िटरी का इस्तेमाल करें

मोनो रिपॉज़िटरी की मदद से, एक ही बार में कई प्रोजेक्ट व्यवस्थित और मैनेज किए जा सकते हैं डायरेक्ट्री. इस गाइड में, Nx पर आधारित ऐप्लिकेशन को डिप्लॉय करने का तरीका बताया गया है ऐप्लिकेशन होस्टिंग.

Firebase सीएलआई के साथ मोनो रिपॉज़िटरी लागू करें

Firebase से शुरू होने वाले बैकएंड सेटअप फ़्लो में मोनोरेपो की सुविधा उपलब्ध है सीएलआई निर्देश apphosting:backends:create. इस फ़्लो में जाने और आपको अगर आपने GitHub रिपॉज़िटरी चुना है, तो आपको अपने ऐप्लिकेशन का रूट बताने के लिए कहा जाएगा आपके रिपॉज़िटरी (डेटा स्टोर करने की जगह) से जुड़ी डायरेक्ट्री; पर क्लिक करने के बाद, वह ऐप्लिकेशन जिसे आप मोनो रिपॉज़िटरी में डिप्लॉय करना चाहते हैं:

$ firebase apphosting:backends:create --project [project-name] --location us-central1
i  === Import a GitHub repository
✔  Connected with GitHub successfully

? Which GitHub repo do you want to deploy? gh-username/nx-monorepo
? Specify your app's root directory relative to your repository path/to/app

उदाहरण के लिए, यहां दी गई एसेट को नीचे दिए गए Nx के आधार पर डिप्लॉय किया जाएगा प्रोजेक्ट स्ट्रक्चर और "टारगेट-ऐप्लिकेशन" बनाना चाहते हैं और बनाना चाहते हैं डिप्लॉय करें:

.
    ├── lib
    ├── apps
    │   └── target-app
    │       ├── project.json
    │       └── src
    │           └── ...
    ├── nx.json
    ├── package-lock.json
    └── package.json

आपके डेटा स्टोर करने की जगह से जुड़े ऐप्लिकेशन की रूट डायरेक्ट्री apps/target-app है.

Firebase कंसोल के साथ मोनो रिपॉज़िटरी लागू करें

Firebase में ग्राफ़िकल बैकएंड सेटअप फ़्लो में Monorepo सहायता को बनाया जाता है कंसोल. "रूट डायरेक्ट्री" के लिए निर्देश मिलने पर "डिप्लॉयमेंट सेटिंग" में जाकर, उस ऐप्लिकेशन का पाथ बताएं जिसे आपको मोनो रिपॉज़िटरी में डिप्लॉय करना है:

कंसोल बैकएंड बनाने वाले व्यू का स्क्रीन शॉट

मोनोरेपो डिप्लॉयमेंट से जुड़ी समस्या हल करना

  • "रूट डायरेक्ट्री" को छोड़ने पर बैकएंड सेट अप के दौरान फ़ील्ड खाली होना, ऐप्लिकेशन हालांकि, होस्टिंग की मदद से उपयोगकर्ता का टारगेट प्रोजेक्ट अब भी बनाया और डिप्लॉय किया जा सकता है, अगर इसकी जानकारी, इससे जुड़े nx.json के defaultProject में दी गई है कॉन्फ़िगरेशन फ़ाइल में सेव किया जाएगा.
  • अगर "रूट डायरेक्ट्री" में से किसी को भी शामिल नहीं किया जाता है फ़ील्ड, न ही a defaultProject, तो बिल्ड फ़ेल हो जाएगा और यह मैसेज दिखाएगा ऐप्लिकेशन होस्टिंग को Nx मोनो रिपॉज़िटरी में टारगेट करने के लिए कोई प्रोजेक्ट नहीं मिला.
  • Nx + Angular ऐप्लिकेशन के लिए, आपको Angular ऐप्लिकेशन का इस्तेमाल करना होगा बिल्डर का इस्तेमाल करें. कॉन्टेंट बनाने ऐंग्युलर ऐप्लिकेशन बिल्डर की जानकारी project.json में दी गई है