मोनोरिपो की मदद से, एक ही डायरेक्ट्री में कई प्रोजेक्ट व्यवस्थित और मैनेज किए जा सकते हैं. इस गाइड में, App Hosting की मदद से Nx पर आधारित ऐप्लिकेशन डिप्लॉय करने का तरीका बताया गया है.
Firebase कंसोल की मदद से, मोनोरिपो डिप्लॉय करना
Firebase कंसोल में, ग्राफ़िकल बैकएंड सेटअप फ़्लो में मोनोरिपो का इस्तेमाल किया जा सकता है. "डिप्लॉयमेंट सेटिंग" में "रूट डायरेक्ट्री" के लिए प्रॉम्प्ट मिलने पर, उस ऐप्लिकेशन का पाथ डालें जिसे आपको मोनोरिपो में डिप्लॉय करना है:
Firebase CLI की मदद से, मोनोरिपो डिप्लॉय करना
मोनोरिपो की सुविधा, बैकएंड सेटअप के फ़्लो में पहले से मौजूद होती है. इसे Firebase CLI कमांड apphosting:backends:create
से चालू किया जाता है. इस फ़्लो में शामिल होने और GitHub रिपॉज़िटरी चुनने के बाद, आपको अपनी रिपॉज़िटरी के हिसाब से ऐप्लिकेशन की रूट डायरेक्ट्री तय करने के लिए कहा जाएगा. इस प्रॉम्प्ट में, उस ऐप्लिकेशन का पाथ डालें जिसे आपको मोनोरिपो में डिप्लॉय करना है:
$ firebase apphosting:backends:create --project [project-name]
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 प्रोजेक्ट के इस स्ट्रक्चर के हिसाब से डिप्लॉय किया जाएगा. साथ ही, "target-app" को उस ऐप्लिकेशन के तौर पर डिप्लॉय किया जाएगा जिसे आपको बनाना है:
.
├── lib
├── apps
│ └── target-app
│ ├── project.json
│ └── src
│ └── ...
├── nx.json
├── package-lock.json
└── package.json
आपके रिपॉज़िटरी के हिसाब से, ऐप्लिकेशन की रूट डायरेक्ट्री apps/target-app
है.
मोनोरिपो डिप्लॉयमेंट से जुड़ी समस्या हल करना
- अगर आपने "रूट डायरेक्ट्री" फ़ील्ड की जानकारी नहीं दी है, तो बिल्ड पूरा नहीं होगा. साथ ही, आपको यह मैसेज दिखेगा कि App Hosting Nx monorepo में टारगेट करने के लिए कोई प्रोजेक्ट नहीं मिला.
- Nx + Angular ऐप्लिकेशन के लिए, ऐप्लिकेशन बनाने के लिए Angular ऐप्लिकेशन बिल्डर का इस्तेमाल करना ज़रूरी है. Angular ऐप्लिकेशन बिल्डर को
project.json
में बताया गया है