অ্যাপ হোস্টিংয়ের সাথে মনোরেপোস ব্যবহার করুন

মনোরেপোসের সাথে, আপনি একক ডিরেক্টরিতে একাধিক প্রকল্প সংগঠিত এবং পরিচালনা করতে পারেন। এই নির্দেশিকা বর্ণনা করে কিভাবে App Hosting এর সাথে Nx-ভিত্তিক অ্যাপ স্থাপন করা শুরু করা যায়।

Firebase CLI এর সাথে মনোরেপোস স্থাপন করুন

Monorepo সমর্থন Firebase CLI কমান্ড 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 কনসোলের সাথে মনোরেপোস স্থাপন করুন

Monorepo সমর্থন Firebase কনসোলে গ্রাফিকাল ব্যাকএন্ড সেটআপ প্রবাহের মধ্যে তৈরি করা হয়। "ডিপ্লয়মেন্ট সেটিংস" এর অধীনে একটি "রুট ডিরেক্টরি" এর জন্য অনুরোধ করা হলে আপনি মনোরেপোর ভিতরে যে অ্যাপ্লিকেশনটি স্থাপন করতে চান তার পথটি নির্দিষ্ট করুন:

কনসোল ব্যাকএন্ড তৈরির দৃশ্যের স্ক্রীন শট

মনোরেপো স্থাপনের সমস্যা সমাধান করা

  • আপনি যদি ব্যাকএন্ড সেটআপের সময় "রুট ডিরেক্টরি" ক্ষেত্রটি ফাঁকা রাখেন, তবে অ্যাপ হোস্টিং ব্যবহারকারীর লক্ষ্য প্রকল্পটি তৈরি করতে এবং স্থাপন করতে সক্ষম হতে পারে যদি এটি সম্পর্কিত nx.json কনফিগারেশন ফাইলের defaultProject নির্দিষ্ট করা থাকে।
  • আপনি যদি "রুট ডিরেক্টরি" ক্ষেত্র বা defaultProject কোনটিই নির্দিষ্ট না করেন, তাহলে বিল্ডটি ব্যর্থ হবে এবং একটি বার্তা প্রদর্শন করবে যে App Hosting Nx মনোরেপোর ভিতরে লক্ষ্য করার জন্য একটি প্রকল্প খুঁজে পাচ্ছে না।
  • Nx + কৌণিক অ্যাপ্লিকেশনগুলির জন্য, আপনাকে অবশ্যই অ্যাপ্লিকেশনটি তৈরি করতে কৌণিক অ্যাপ্লিকেশন নির্মাতা ব্যবহার করতে হবে। কৌণিক অ্যাপ্লিকেশন নির্মাতা project.json এ নির্দিষ্ট করা হয়েছে