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

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

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

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

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

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

Firebase CLI কমান্ড apphosting:backends:create দ্বারা ব্যবহৃত ব্যাকএন্ড সেটআপ ফ্লোতে Monorepo সাপোর্ট তৈরি করা হয়। এই ফ্লোটি প্রবেশ করার পর এবং আপনার নির্বাচিত GitHub রিপোজিটরি নির্দিষ্ট করার পর, আপনাকে আপনার রিপোজিটরির সাথে সম্পর্কিত আপনার অ্যাপের রুট ডিরেক্টরি নির্দিষ্ট করতে বলা হবে; এই প্রম্পটে, monorepo-এর ভিতরে আপনি যে অ্যাপ্লিকেশনটি স্থাপন করতে চান তার পথটি দিন:

$ 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

উদাহরণস্বরূপ, এখানে এমন সম্পদগুলি দেওয়া হল যা নিম্নলিখিত প্রকল্প কাঠামো এবং "টার্গেট-অ্যাপ" কে আপনি যে অ্যাপ্লিকেশনটি তৈরি এবং স্থাপন করতে চান তা প্রদান করে স্থাপন করা হবে:

নক্স

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

টার্বোরেপো

.
    ├── packages
    ├── apps
    │   └── target-app
    │       ├── package.json
    │       └── src
    │           └── ...
    ├── turbo.json
    ├── package.json
    └── package-lock.json

আপনার রিপোজিটরির সাথে সম্পর্কিত অ্যাপের রুট ডিরেক্টরি হল apps/target-app

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

  • যদি আপনি Nx এর জন্য "root directory" ক্ষেত্রটি নির্দিষ্ট না করেন, তাহলে বিল্ডটি ব্যর্থ হবে এবং একটি বার্তা প্রদর্শন করবে যে App Hosting Nx monorepo এর ভিতরে লক্ষ্য করার জন্য কোনও প্রকল্প খুঁজে পাচ্ছে না। একইভাবে, Turborepo ব্যবহারকারীদের একটি লক্ষ্য অ্যাপ ডিরেক্টরি নির্দিষ্ট করতে হবে কারণ Turborepo তে কোনও ডিফল্ট প্রকল্পের ধারণা নেই।
  • Nx + Angular অ্যাপ্লিকেশনের জন্য, অ্যাপ্লিকেশন তৈরি করতে আপনাকে Angular অ্যাপ্লিকেশন বিল্ডার ব্যবহার করতে হবে। Angular অ্যাপ্লিকেশন বিল্ডারটি project.json এ নির্দিষ্ট করা আছে।