একই কোডবেস থেকে একাধিক এনভায়রনমেন্ট মোতায়েন করা সাধারণ, প্রতিটিতে কিছুটা ভিন্ন কনফিগারেশন রয়েছে। উদাহরণস্বরূপ, আপনি আপনার স্টেজিং এনভায়রনমেন্টে কম CPU এবং RAM বরাদ্দ করতে চাইতে পারেন, অথবা আপনি নিশ্চিত করতে চাইতে পারেন যে আপনার প্রোডাকশন এনভায়রনমেন্ট অন্তত 1টি ইন্সট্যান্স সক্রিয় রাখে এবং অনুরোধ পরিবেশনের জন্য প্রস্তুত। আপনি যে পরিবেশ এবং সংস্থানগুলি ব্যবহার করতে চান তার উপর নির্ভর করে আপনি বিভিন্ন পরিবেশ ভেরিয়েবল এবং গোপনীয়তা নির্দিষ্ট করতে চাইতে পারেন।
এই নির্দেশিকাটি বর্ণনা করে যে কীভাবে একটি উত্পাদন এবং স্টেজিং পরিবেশ স্থাপন করা যায়, প্রতিটি একটি পৃথক ফায়ারবেস প্রকল্পে। একই নীতি অনুসরণ করে, আপনি অন্যান্য বিভিন্ন ধরণের পরিবেশে স্থাপন করতে পারেন। পরিবেশ সম্পর্কে আরও জানতে, ফায়ারবেস প্রকল্পগুলি সেট আপ করার জন্য পরিবেশের ওভারভিউ এবং সাধারণ সর্বোত্তম অনুশীলনগুলি দেখুন।
পূর্বশর্ত
- আপনার অ্যাপ্লিকেশন কোড ইতিমধ্যেই গিটহাবে সংরক্ষিত আছে।
- আপনি ইতিমধ্যেই আপনার প্রতিটি পরিবেশের জন্য একটি স্বতন্ত্র প্রকল্প তৈরি করেছেন—যেমন
my-production-firebase-project
এবংmy-staging-firebase-project
। আপনার প্রোডাকশন ফায়ারবেস প্রোজেক্টকে "উৎপাদন" এনভায়রনমেন্ট টাইপ দিয়ে ট্যাগ করা নিশ্চিত করুন। - প্রতিটি প্রজেক্টে, আপনি একটি App Hosting ব্যাকএন্ড তৈরি করেছেন, লাইভ শাখাটি GitHub শাখায় সেট করে আপনি স্থাপন করতে চান (যেমন
main
)। আরও তথ্যের জন্য App Hosting দিয়ে শুরু করুন দেখুন।
ধাপ 0: apphosting.yaml-এ একটি ডিফল্ট কনফিগারেশন তৈরি করুন
App Hosting আপনার অ্যাপের জন্য রানটাইম সেটিংস (সিপিইউ, কনকারেন্সি, মেমরি লিমিট, ইত্যাদি) এবং এনভায়রনমেন্ট ভেরিয়েবল পরিচালনা করতে apphosting.yaml
নামে একটি কনফিগারেশন ফাইল সমর্থন করে। এটি ক্লাউড সিক্রেট ম্যানেজারের সাথে পরিচালিত গোপনীয়তার রেফারেন্সগুলিকেও সমর্থন করে, এটি উত্স নিয়ন্ত্রণে পরীক্ষা করা নিরাপদ করে তোলে। আরও তথ্যের জন্য, একটি ব্যাকএন্ড কনফিগার করুন দেখুন।
শুরু করতে, আপনার অ্যাপের রুট ডিরেক্টরিতে একটি apphosting.yaml
ফাইল তৈরি করুন। এটি হল ফলব্যাক কনফিগারেশন ফাইল যা ব্যবহার করা হয় যখন একটি পরিবেশ-নির্দিষ্ট কনফিগারেশন ফাইল পাওয়া যায় না। apphosting.yaml
এ সংরক্ষিত মানগুলি ডিফল্ট হওয়া উচিত যা সমস্ত পরিবেশের জন্য ব্যবহার করা নিরাপদ৷
পরবর্তী বিভাগগুলি ব্যাখ্যা করে যে কীভাবে নির্দিষ্ট পরিবেশের জন্য apphosting.yaml
এ ডিফল্ট মান ওভাররাইড করা যায়। এই উদাহরণ প্রবাহ একটি স্টেজিং পরিবেশ তৈরি করে।
ধাপ 1: পরিবেশের নাম সেট করুন
প্রতিটি App Hosting ব্যাকএন্ডের একটি পরিবেশের নাম সেটিং আছে। এই ক্ষেত্রটি একটি পরিবেশ-নির্দিষ্ট কনফিগারেশন ফাইলে আপনার ব্যাকএন্ড ম্যাপ করতে ব্যবহৃত হয়, এবং যে কোনো সময় পরিবর্তন করা যেতে পারে। আপনি প্রতি ব্যাকএন্ডে শুধুমাত্র একটি পরিবেশের নাম সেট করতে পারেন।
আপনার ব্যাকএন্ডের পরিবেশের নাম সেট করতে,
- Firebase কনসোলে, আপনার স্টেজিং প্রকল্প নির্বাচন করুন (এই উদাহরণে, my-staging-firebase-project)।
- বাম নেভি থেকে App Hosting নির্বাচন করুন।
- আপনার নির্বাচিত ব্যাকএন্ডে ভিউ ড্যাশবোর্ডে ক্লিক করুন।
- সেটিংস ট্যাবে, ডিপ্লয়মেন্ট নির্বাচন করুন।
- পরিবেশ নামের অধীনে, আপনার পরিবেশের নাম লিখুন। আপনি আপনার পছন্দ মতো পরিবেশের নাম দিতে পারেন। এই উদাহরণে, এটি মঞ্চায়ন ।
- Save এ ক্লিক করুন।
যখন আপনার ব্যাকএন্ডের জন্য একটি App Hosting রোলআউট ট্রিগার করা হয় (হয় গিট পুশের মাধ্যমে বা ম্যানুয়ালি কনসোলের মাধ্যমে), App Hosting একটি apphosting. ENVIRONMENT_NAME .yaml
apphosting.yaml
এ ফিরে আসার আগে apphosting. ENVIRONMENT_NAME .yaml
ফাইল।
ধাপ 2: আপনার পরিবেশ-নির্দিষ্ট apphosting.yaml
ফাইল তৈরি করুন
আপনার পরিবেশ-নির্দিষ্ট কনফিগারেশনের জন্য, apphosting. ENVIRONMENT_NAME .yaml
পরিবেশ-নির্দিষ্ট ওভাররাইডগুলি নির্দিষ্ট করার জন্য apphosting. ENVIRONMENT_NAME .yaml
এই ফাইলটির ডিফল্ট apphosting.yaml-এর মতো একই ফর্ম্যাট রয়েছে এবং অবশ্যই apphosting.yaml
পাশে আপনার অ্যাপের রুট ডিরেক্টরিতে অবস্থিত হতে হবে।
বিল্ড টাইমে, App Hosting বেস apphosting.yaml
ফাইলের উপর পরিবেশ-নির্দিষ্ট YAML ফাইলের মানগুলিকে অগ্রাধিকার দিয়ে এই দুটি ফাইলকে একত্রিত করে।
এই উদাহরণে, আপনি অ্যাপের রুট ডিরেক্টরিতে apphosting.staging.yaml
নামে একটি ফাইল তৈরি করবেন:
runConfig:
cpu: 1
memoryMiB: 512
concurrency: 5
env:
- variable: API_URL
value: api.staging.service.com
availability:
- BUILD
- variable: DATABASE_URL
secret: secretStagingDatabaseURL
ধরুন আপনার কাছে ইতিমধ্যেই একটি apphosting.yaml
ছিল যা দেখতে এরকম ছিল:
runConfig:
cpu: 3
memoryMiB: 1024
maxInstances: 4
minInstances: 0
concurrency: 100
env:
- variable: API_URL
value: api.service.com
availability:
- BUILD
- RUNTIME
- variable: STORAGE_BUCKET
value: mybucket.appspot.com
availability:
- RUNTIME
- variable: API_KEY
secret: secretIDforAPI
চূড়ান্ত একত্রিত আউটপুট, যা আপনি আপনার ক্লাউড বিল্ড লগগুলিতে পরিদর্শন করতে পারেন, দেখতে এইরকম হবে:
runConfig:
cpu: 1
memoryMiB: 512
maxInstances: 4
minInstances: 0
concurrency: 5
env:
- variable: API_URL
value: api.staging.service.com
availability:
- BUILD
- variable: STORAGE_BUCKET
value: mybucket.appspot.com
availability:
- RUNTIME
- variable: API_KEY
secret: secretIDforAPI
- variable: DATABASE_URL
secret: secretStagingDatabaseURL
উল্লেখ্য যে কিছু runConfig
মান যেমন CPU ওভারল্যাপিং এনভায়রনমেন্ট ভেরিয়েবল ওভাররাইট করা হয়েছে।
ধাপ 3: আপনার কোডবেস স্থাপন করুন
একবার আপনি আপনার পরিবেশ-নির্দিষ্ট apphosting. ENVIRONMENT_NAME .yaml
ফাইল, আপনার ফাইলটি GitHub-এ পুশ করুন:
$ git add apphosting.<ENVIRONMENT_NAME>.yaml
$ git commit -m "Added environment specific yaml file"
$ git push
এই এনভায়রনমেন্ট নামের সাথে ট্যাগ করা যেকোনো ব্যাকএন্ড আপনার সংশ্লিষ্ট YAML ফাইলে নির্দিষ্ট করা নির্দিষ্ট ওভাররাইড মান ব্যবহার করবে এবং কোনো মান পাওয়া না গেলে apphosting.yaml
এ ফিরে যাবে। সংশ্লিষ্ট পরিবেশের নাম ছাড়া ব্যাকএন্ডের জন্য, আপনি apphosting.yaml ব্যবহার করা চালিয়ে যেতে পারেন।
পরবর্তী পদক্ষেপ
- আরও গভীরে যান: Firebase কোডল্যাবের মধ্য দিয়ে যান যা Firebase প্রমাণীকরণ এবং Google AI বৈশিষ্ট্যগুলির সাথে একটি হোস্ট করা অ্যাপকে সংহত করে: Next.js | কৌণিক
- একটি কাস্টম ডোমেন সংযুক্ত করুন ।
- আপনার ব্যাকএন্ড কনফিগার করুন ।
- রোলআউট, সাইটের ব্যবহার এবং লগগুলি মনিটর করুন ৷
একই কোডবেস থেকে একাধিক এনভায়রনমেন্ট মোতায়েন করা সাধারণ, প্রতিটিতে কিছুটা ভিন্ন কনফিগারেশন রয়েছে। উদাহরণস্বরূপ, আপনি আপনার স্টেজিং এনভায়রনমেন্টে কম CPU এবং RAM বরাদ্দ করতে চাইতে পারেন, অথবা আপনি নিশ্চিত করতে চাইতে পারেন যে আপনার প্রোডাকশন এনভায়রনমেন্ট অন্তত 1টি ইন্সট্যান্স সক্রিয় রাখে এবং অনুরোধ পরিবেশনের জন্য প্রস্তুত। আপনি যে পরিবেশ এবং সংস্থানগুলি ব্যবহার করতে চান তার উপর নির্ভর করে আপনি বিভিন্ন পরিবেশ ভেরিয়েবল এবং গোপনীয়তা নির্দিষ্ট করতে চাইতে পারেন।
এই নির্দেশিকাটি বর্ণনা করে যে কীভাবে একটি উত্পাদন এবং স্টেজিং পরিবেশ স্থাপন করা যায়, প্রতিটি একটি পৃথক ফায়ারবেস প্রকল্পে। একই নীতি অনুসরণ করে, আপনি অন্যান্য বিভিন্ন ধরণের পরিবেশে স্থাপন করতে পারেন। পরিবেশ সম্পর্কে আরও জানতে, ফায়ারবেস প্রকল্পগুলি সেট আপ করার জন্য পরিবেশের ওভারভিউ এবং সাধারণ সর্বোত্তম অনুশীলনগুলি দেখুন।
পূর্বশর্ত
- আপনার অ্যাপ্লিকেশন কোড ইতিমধ্যেই গিটহাবে সংরক্ষিত আছে।
- আপনি ইতিমধ্যেই আপনার প্রতিটি পরিবেশের জন্য একটি স্বতন্ত্র প্রকল্প তৈরি করেছেন—যেমন
my-production-firebase-project
এবংmy-staging-firebase-project
। আপনার প্রোডাকশন ফায়ারবেস প্রোজেক্টকে "উৎপাদন" এনভায়রনমেন্ট টাইপ দিয়ে ট্যাগ করা নিশ্চিত করুন। - প্রতিটি প্রজেক্টে, আপনি একটি App Hosting ব্যাকএন্ড তৈরি করেছেন, লাইভ শাখাটি GitHub শাখায় সেট করে আপনি স্থাপন করতে চান (যেমন
main
)। আরও তথ্যের জন্য App Hosting দিয়ে শুরু করুন দেখুন।
ধাপ 0: apphosting.yaml-এ একটি ডিফল্ট কনফিগারেশন তৈরি করুন
App Hosting আপনার অ্যাপের জন্য রানটাইম সেটিংস (সিপিইউ, কনকারেন্সি, মেমরি লিমিট, ইত্যাদি) এবং এনভায়রনমেন্ট ভেরিয়েবল পরিচালনা করতে apphosting.yaml
নামে একটি কনফিগারেশন ফাইল সমর্থন করে। এটি ক্লাউড সিক্রেট ম্যানেজারের সাথে পরিচালিত গোপনীয়তার রেফারেন্সগুলিকেও সমর্থন করে, এটি উত্স নিয়ন্ত্রণে পরীক্ষা করা নিরাপদ করে তোলে। আরও তথ্যের জন্য, একটি ব্যাকএন্ড কনফিগার করুন দেখুন।
শুরু করতে, আপনার অ্যাপের রুট ডিরেক্টরিতে একটি apphosting.yaml
ফাইল তৈরি করুন। এটি হল ফলব্যাক কনফিগারেশন ফাইল যা ব্যবহার করা হয় যখন একটি পরিবেশ-নির্দিষ্ট কনফিগারেশন ফাইল পাওয়া যায় না। apphosting.yaml
এ সংরক্ষিত মানগুলি ডিফল্ট হওয়া উচিত যা সমস্ত পরিবেশের জন্য ব্যবহার করা নিরাপদ৷
পরবর্তী বিভাগগুলি ব্যাখ্যা করে যে কীভাবে নির্দিষ্ট পরিবেশের জন্য apphosting.yaml
এ ডিফল্ট মান ওভাররাইড করা যায়। এই উদাহরণ প্রবাহ একটি স্টেজিং পরিবেশ তৈরি করে।
ধাপ 1: পরিবেশের নাম সেট করুন
প্রতিটি App Hosting ব্যাকএন্ডের একটি পরিবেশের নাম সেটিং আছে। এই ক্ষেত্রটি একটি পরিবেশ-নির্দিষ্ট কনফিগারেশন ফাইলে আপনার ব্যাকএন্ড ম্যাপ করতে ব্যবহৃত হয়, এবং যে কোনো সময় পরিবর্তন করা যেতে পারে। আপনি প্রতি ব্যাকএন্ডে শুধুমাত্র একটি পরিবেশের নাম সেট করতে পারেন।
আপনার ব্যাকএন্ডের পরিবেশের নাম সেট করতে,
- Firebase কনসোলে, আপনার স্টেজিং প্রকল্প নির্বাচন করুন (এই উদাহরণে, my-staging-firebase-project)।
- বাম নেভি থেকে App Hosting নির্বাচন করুন।
- আপনার নির্বাচিত ব্যাকএন্ডে ভিউ ড্যাশবোর্ডে ক্লিক করুন।
- সেটিংস ট্যাবে, ডিপ্লয়মেন্ট নির্বাচন করুন।
- পরিবেশ নামের অধীনে, আপনার পরিবেশের নাম লিখুন। আপনি আপনার পছন্দ মতো পরিবেশের নাম দিতে পারেন। এই উদাহরণে, এটি মঞ্চায়ন ।
- Save এ ক্লিক করুন।
যখন আপনার ব্যাকএন্ডের জন্য একটি App Hosting রোলআউট ট্রিগার করা হয় (হয় গিট পুশের মাধ্যমে বা ম্যানুয়ালি কনসোলের মাধ্যমে), App Hosting একটি apphosting. ENVIRONMENT_NAME .yaml
apphosting.yaml
এ ফিরে আসার আগে apphosting. ENVIRONMENT_NAME .yaml
ফাইল।
ধাপ 2: আপনার পরিবেশ-নির্দিষ্ট apphosting.yaml
ফাইল তৈরি করুন
আপনার পরিবেশ-নির্দিষ্ট কনফিগারেশনের জন্য, apphosting. ENVIRONMENT_NAME .yaml
পরিবেশ-নির্দিষ্ট ওভাররাইডগুলি নির্দিষ্ট করার জন্য apphosting. ENVIRONMENT_NAME .yaml
এই ফাইলটির ডিফল্ট apphosting.yaml-এর মতো একই ফর্ম্যাট রয়েছে এবং অবশ্যই apphosting.yaml
পাশে আপনার অ্যাপের রুট ডিরেক্টরিতে অবস্থিত হতে হবে।
বিল্ড টাইমে, App Hosting বেস apphosting.yaml
ফাইলের উপর পরিবেশ-নির্দিষ্ট YAML ফাইলের মানগুলিকে অগ্রাধিকার দিয়ে এই দুটি ফাইলকে একত্রিত করে।
এই উদাহরণে, আপনি অ্যাপের রুট ডিরেক্টরিতে apphosting.staging.yaml
নামে একটি ফাইল তৈরি করবেন:
runConfig:
cpu: 1
memoryMiB: 512
concurrency: 5
env:
- variable: API_URL
value: api.staging.service.com
availability:
- BUILD
- variable: DATABASE_URL
secret: secretStagingDatabaseURL
ধরুন আপনার কাছে ইতিমধ্যেই একটি apphosting.yaml
ছিল যা দেখতে এরকম ছিল:
runConfig:
cpu: 3
memoryMiB: 1024
maxInstances: 4
minInstances: 0
concurrency: 100
env:
- variable: API_URL
value: api.service.com
availability:
- BUILD
- RUNTIME
- variable: STORAGE_BUCKET
value: mybucket.appspot.com
availability:
- RUNTIME
- variable: API_KEY
secret: secretIDforAPI
চূড়ান্ত একত্রিত আউটপুট, যা আপনি আপনার ক্লাউড বিল্ড লগগুলিতে পরিদর্শন করতে পারেন, দেখতে এইরকম হবে:
runConfig:
cpu: 1
memoryMiB: 512
maxInstances: 4
minInstances: 0
concurrency: 5
env:
- variable: API_URL
value: api.staging.service.com
availability:
- BUILD
- variable: STORAGE_BUCKET
value: mybucket.appspot.com
availability:
- RUNTIME
- variable: API_KEY
secret: secretIDforAPI
- variable: DATABASE_URL
secret: secretStagingDatabaseURL
উল্লেখ্য যে কিছু runConfig
মান যেমন CPU ওভারল্যাপিং এনভায়রনমেন্ট ভেরিয়েবল ওভাররাইট করা হয়েছে।
ধাপ 3: আপনার কোডবেস স্থাপন করুন
একবার আপনি আপনার পরিবেশ-নির্দিষ্ট apphosting. ENVIRONMENT_NAME .yaml
ফাইল, আপনার ফাইলটি GitHub-এ পুশ করুন:
$ git add apphosting.<ENVIRONMENT_NAME>.yaml
$ git commit -m "Added environment specific yaml file"
$ git push
এই এনভায়রনমেন্ট নামের সাথে ট্যাগ করা যেকোনো ব্যাকএন্ড আপনার সংশ্লিষ্ট YAML ফাইলে নির্দিষ্ট করা নির্দিষ্ট ওভাররাইড মান ব্যবহার করবে এবং কোনো মান পাওয়া না গেলে apphosting.yaml
এ ফিরে যাবে। সংশ্লিষ্ট পরিবেশের নাম ছাড়া ব্যাকএন্ডের জন্য, আপনি apphosting.yaml ব্যবহার করা চালিয়ে যেতে পারেন।
পরবর্তী পদক্ষেপ
- আরও গভীরে যান: Firebase কোডল্যাবের মধ্য দিয়ে যান যা Firebase প্রমাণীকরণ এবং Google AI বৈশিষ্ট্যগুলির সাথে একটি হোস্ট করা অ্যাপকে সংহত করে: Next.js | কৌণিক
- একটি কাস্টম ডোমেন সংযুক্ত করুন ।
- আপনার ব্যাকএন্ড কনফিগার করুন ।
- রোলআউট, সাইটের ব্যবহার এবং লগগুলি মনিটর করুন ৷