App Hosting ব্যাকগ্রাউন্ড টাস্কের একটি জটিল সিরিজ পরিচালনা করে আপনার অ্যাপের স্থাপনাকে সহজ করতে। এই পৃষ্ঠাটি সেই টাস্ক প্রবাহের মূল অংশগুলি বর্ণনা করে, এমন পয়েন্টগুলির বিষয়ে তথ্য প্রদান করে যেখানে আপনি আপনার অ্যাপের প্রয়োজনের উপর নির্ভর করে প্রবাহটি কাস্টমাইজ করতে চান।
ফ্রেমওয়ার্ক সমর্থন
App Hosting এই ফ্রেমওয়ার্কগুলিতে তৈরি করা ওয়েব অ্যাপগুলির জন্য কোনও-কনফিগার-প্রয়োজনীয় বিল্ড এবং স্থাপন সমর্থন প্রদান করে:
- Next.js 13+
- কৌণিক 17.2+
App Hosting আপনার সংগ্রহস্থলে package-lock.json
ফাইল বা অন্যান্য লক ফাইল পরিদর্শন করে আপনি কোন ফ্রেমওয়ার্ক ব্যবহার করছেন তা সনাক্ত করে। আপনি যদি একটি Node.js অ্যাপ স্থাপন করার চেষ্টা করেন যেটিতে একটি লক ফাইল নেই, App Hosting আপনার অ্যাপ তৈরি করতে এবং চালাতে ব্যর্থ হবে। আপনি আপনার রুট ডিরেক্টরিতে npm install
চালিয়ে package-lock.json
তৈরি করতে পারেন।
App Hosting ফ্রেমওয়ার্ক অ্যাডাপ্টারের দুটি মূল ভূমিকা রয়েছে:
- আপনার অ্যাপের কনফিগার করা আচরণ বোঝার জন্য তারা আপনার সোর্স কোড এবং ফ্রেমওয়ার্ক-নির্দিষ্ট কনফিগার ফাইল (যেমন
next.config.js
) পার্স করে। - তারা স্ট্যাটিক সম্পদ তৈরি করতে এবং উত্পাদনের জন্য আপনার অ্যাপের একটি অপ্টিমাইজ করা সংস্করণ তৈরি করতে আপনার অ্যাপের বিল্ড কমান্ড চালায়।
ফ্রেমওয়ার্ক অ্যাডাপ্টারগুলি npm run build
সহ আপনার Node.js অ্যাপ তৈরি করে, প্রতিটি ফ্রেমওয়ার্কের জন্য ডিফল্ট বিল্ড স্ক্রিপ্টগুলির সাথে সেরা কাজ করে: Next.js-এর জন্য next build
এবং Angular-এর জন্য ng build
৷ App Hosting কাস্টম বিল্ড কমান্ড দিয়ে বিল্ড করার চেষ্টা করবে, কিন্তু নির্ভরযোগ্যভাবে সাফল্যের নিশ্চয়তা দিতে পারে না।
App Hosting রিপোজিটরি ইন্টিগ্রেশন কিভাবে কাজ করে
আপনার GitHub সংগ্রহস্থল এবং App Hosting ব্যাকএন্ডের মধ্যে গুরুত্বপূর্ণ সংযোগটি ডেভেলপার কানেক্ট দ্বারা পরিচালিত হয়, বাহ্যিক DevOps সরঞ্জামগুলির জন্য Google ক্লাউডের সংযোগ প্ল্যাটফর্ম৷ একটি App Hosting ব্যাকএন্ড তৈরি করার সময়, ডেভেলপার কানেক্টের UI ওয়ার্কফ্লো আপনাকে Firebase GitHub অ্যাপ ইনস্টল করার মাধ্যমে গাইড করে। এই প্রক্রিয়ার মূল পদক্ষেপগুলি হল:
- আপনি বিকাশকারীকে সিক্রেট ম্যানেজার অ্যাডমিন রোল কানেক্ট করুন। এটি সিস্টেমকে ক্লাউড সিক্রেট ম্যানেজারে "সিক্রেটস" হিসাবে নিরাপদে শংসাপত্র সংরক্ষণ করার অনুমতি দেয়৷
- আপনি আপনার GitHub সংগ্রহস্থল অ্যাক্সেস করার জন্য Firebase GitHub অ্যাপটিকে অনুমোদন করেন।
- ডেভেলপার কানেক্ট আপনার প্রোজেক্টের গোপন ম্যানেজার রিপোজিটরিতে একটি ডেডিকেটেড GitHub অনুমোদন টোকেন সঞ্চয় করে; এই টোকেন পরিবর্তন বা মুছে ফেলবেন না।
উপরন্তু, App Hosting রোলআউটগুলির জন্য একটি চেক প্রদান করতে GitHub চেক API এর সাথে সংহত করে। এই চেকটি আপনাকে GitHub-এ আপনার রোলআউটের স্থিতি দেখতে দেয় এবং কোনো ত্রুটির ক্ষেত্রে স্থাপনার প্রক্রিয়াটি ডিবাগ করতে দেয়।
Firebase এবং অন্যান্য Google পরিষেবাগুলির সাথে একীকরণ৷
App Hosting আপনার বিল্ড এবং রানটাইম উভয় পরিবেশই সেট আপ করে যাতে আপনি Google অ্যাপ্লিকেশন ডিফল্ট শংসাপত্রের সাথে Firebase অ্যাডমিন SDK শুরু করতে পারেন। এইভাবে, আপনার ব্যাকএন্ড অন্যান্য ফায়ারবেস পণ্যগুলির সাথে বিল্ড এবং ডিপ্লোয় করার সময় যোগাযোগ করতে পারে।
App Hosting ব্যাকএন্ড পরিষেবা অ্যাকাউন্ট
বিল্ড চলাকালীন এবং রানটাইমে, আপনার App Hosting ব্যাকএন্ড একটি পরিষেবা অ্যাকাউন্ট সহ অন্যান্য Google পরিষেবাগুলির সাথে প্রমাণীকরণ করে৷ এই উদ্দেশ্যে একটি ডিফল্ট পরিষেবা অ্যাকাউন্ট তৈরি করা হয় যখন আপনি প্রথমবার একটি ফায়ারবেস প্রকল্পে App Hosting সক্ষম করেন:
firebase-app-hosting-compute@ PROJECT ID .iam.gserviceaccount.com
এই পরিষেবা অ্যাকাউন্টটি ডিফল্টরূপে সমস্ত ব্যাকএন্ডে প্রযোজ্য এবং আপনাকে আপনার অ্যাপ তৈরি, চালানো এবং নিরীক্ষণ করার অনুমতি দেওয়ার জন্য অনুমতিগুলির একটি ন্যূনতম সেট রয়েছে৷ Cloud Firestore থেকে ডেটা লোড করার মতো ক্রিয়াকলাপগুলি সম্পাদন করার জন্য এটিকে অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র সহ অ্যাডমিন SDK প্রমাণীকরণ করার অনুমতি রয়েছে৷ ফায়ারবেস App Hosting ভূমিকা দেখুন।
আপনার অ্যাপটিকে বিল্ড টাইমে বা চলমান ব্যাকএন্ড থেকে অতিরিক্ত Google পরিষেবাগুলির সাথে ইন্টারঅ্যাক্ট করার প্রয়োজন হলে, আপনি ভূমিকা যোগ করে ডিফল্ট পরিষেবা অ্যাকাউন্ট কাস্টমাইজ করতে পারেন। উদাহরণস্বরূপ, যদি আপনার অ্যাপের Vertex AI-এর জন্য অনুমতির প্রয়োজন হয়, তাহলে আপনাকে roles/aiplatform.user
বা কিছু সম্পর্কিত ভূমিকা যোগ করতে হতে পারে।
মূল পদ এবং সংজ্ঞা
- ব্যাকএন্ড : পরিচালিত সংস্থানগুলির সংগ্রহ যা App Hosting আপনার ওয়েব অ্যাপ তৈরি এবং চালানোর জন্য তৈরি করে।
- রোলআউট : আপনার লাইভ অ্যাপের একটি নির্দিষ্ট সংস্করণ, একটি গিট কমিটের সাথে লিঙ্ক করা।
- লাইভ শাখা : আপনার GitHub সংগ্রহস্থলের শাখা যা আপনার লাইভ ইউআরএলে স্থাপন করা হয়। প্রায়শই, এটি সেই শাখা যেখানে বৈশিষ্ট্য শাখা বা উন্নয়ন শাখা একত্রিত হয়।
পরিচিত সমস্যা এবং সীমাবদ্ধতা
App Hosting পূর্বরূপের কিছু পরিচিত সীমাবদ্ধতা রয়েছে:
- ব্যাকএন্ড মুছে ফেলা কাজ করছে না।
- ইমেজ অপ্টিমাইজেশান এখনও উপলব্ধ নয়.
- কিছু ক্ষেত্রে, একটি App Hosting ব্যাকএন্ড আপনার অ্যাপের URL-এ
Intermittent connection error
বার্তাগুলি ফেরত দিতে পারে। পরবর্তী রিলিজে একটি ফিক্স পাওয়া যাবে। - ক্যাশে-কন্ট্রোল শিরোনামগুলি CDN ক্যাশে 60 এর মধ্যে সীমাবদ্ধ করার জন্য পরিবর্তন করা হয়েছে; ভবিষ্যতে, যখন App Hosting ডিপ্লোয় করার সময় ক্যাশে দ্রুত পরিস্কার করার ক্ষমতা রাখে, তখন এই সীমা তুলে নেওয়া হবে।
- সেট-কুকি হেডারগুলি App Hosting ডেটাপ্লেনের মাধ্যমে পরিবেশিত প্রতিক্রিয়াগুলি থেকে ছিনিয়ে নেওয়া হয়েছে৷ পরবর্তী রিলিজে একটি ফিক্স পাওয়া যাবে।
- Cloud Run থেকে আনক্যাশড স্ট্যাটিক ফাইলগুলি পরিবেশিত হয়; পরবর্তী রিলিজে, ভালো পারফরম্যান্সের জন্য সেগুলি App Hosting মূল থেকে সংরক্ষণ করা হবে এবং পরিবেশন করা হবে৷
- Firebase কনসোলের ব্যাকএন্ড ব্যবহার পৃষ্ঠায় App Hosting SKUগুলি প্রদর্শিত নাও হতে পারে। সেগুলি পরবর্তী রিলিজে পাওয়া যাবে।
- Firebase কনসোল মাঝে মাঝে ব্যাকএন্ড তৈরিতে একটি "বিল্ড খুঁজে পাওয়া যায়নি এবং অবৈধ" ত্রুটি দেখাতে পারে।
- বর্তমানে, একই প্রকল্পের সমস্ত ব্যাকএন্ড একটি GitHub org/অ্যাকাউন্ট শেয়ার করে। সেগুলিকে সেই org/অ্যাকাউন্টের অধীনে বিভিন্ন সংগ্রহস্থলের সাথে সংযুক্ত করা যেতে পারে। বিভিন্ন GitHub অ্যাকাউন্টের সাথে সংযুক্ত ব্যাকএন্ড তৈরি করতে, সেগুলিকে আলাদা প্রজেক্টে রাখুন।
- এই সময়ে, শুধুমাত্র
us-central1
অঞ্চল সমর্থিত। - Next.js মিডলওয়্যার, পুনঃলিখন এবং পুনঃনির্দেশগুলি CDN এর পিছনে, Cloud Run কার্যকর করা হয়। যেহেতু এগুলি ক্যাশে করা প্রতিক্রিয়াগুলিকে সুরক্ষিত করবে না, তাই আপনি যে সামগ্রীটি রেন্ডার করছেন তার জন্য উপযুক্ত নিয়ন্ত্রণ নির্দেশাবলী সেট করতে ভুলবেন না৷