Firebase CLI রেফারেন্স

Firebase সিএলআই ( গিটহাব ) ফায়ারবেস প্রকল্পগুলি পরিচালনা, দেখার এবং স্থাপনের জন্য বিভিন্ন ধরণের সরঞ্জাম সরবরাহ করে।

Firebase CLI ব্যবহার করার আগে, একটি Firebase প্রকল্প সেট আপ করুন

CLI সেট আপ বা আপডেট করুন

Firebase সিএলআই ইনস্টল করুন

আপনার অপারেটিং সিস্টেম, অভিজ্ঞতার স্তর এবং/অথবা ব্যবহারের ক্ষেত্রের সাথে মেলে এমন একটি পদ্ধতি ব্যবহার করে আপনি Firebase CLI ইনস্টল করতে পারেন। আপনি যেভাবেই CLI ইনস্টল করুন না কেন, আপনার একই কার্যকারিতা এবং firebase কমান্ডের অ্যাক্সেস থাকবে।

উইন্ডোজ ম্যাকওএস লিনাক্স

জানালা

আপনি নিম্নলিখিত বিকল্পগুলির মধ্যে একটি ব্যবহার করে উইন্ডোজের জন্য Firebase CLI ইনস্টল করতে পারেন:

বিকল্প বিবরণ এর জন্য প্রস্তাবিত...
স্বতন্ত্র বাইনারি CLI এর জন্য স্বতন্ত্র বাইনারি ডাউনলোড করুন। তারপর, আপনি এক্সিকিউটেবল অ্যাক্সেস করতে পারবেন এবং একটি শেল খুলতে পারবেন যেখানে আপনি firebase কমান্ড চালাতে পারবেন। নতুন ডেভেলপাররা

ডেভেলপাররা Node.js ব্যবহার করছেন না বা তাদের সাথে অপরিচিত
npm সম্পর্কে CLI ইনস্টল করতে এবং বিশ্বব্যাপী উপলব্ধ firebase কমান্ড সক্ষম করতে npm (নোড প্যাকেজ ম্যানেজার) ব্যবহার করুন। Node.js ব্যবহারকারী ডেভেলপাররা

স্বতন্ত্র বাইনারি

Firebase CLI এর জন্য বাইনারি ডাউনলোড এবং রান করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. উইন্ডোজের জন্য Firebase CLI বাইনারি ডাউনলোড করুন।

  2. বাইনারি অ্যাক্সেস করে একটি শেল খুলুন যেখানে আপনি firebase কমান্ড চালাতে পারবেন।

  3. লগ ইন করে CLI পরীক্ষা করা চালিয়ে যান।

npm সম্পর্কে

Firebase সিএলআই ইনস্টল করার জন্য npm (নোড প্যাকেজ ম্যানেজার) ব্যবহার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. nvm-windows (নোড ভার্সন ম্যানেজার) ব্যবহার করে Node.js ইনস্টল করুন। Node.js ইনস্টল করলে স্বয়ংক্রিয়ভাবে npm কমান্ড টুল ইনস্টল হয়ে যায়।

  2. নিম্নলিখিত কমান্ডটি চালিয়ে npm এর মাধ্যমে Firebase CLI ইনস্টল করুন:

    npm install -g firebase-tools

    এই কমান্ডটি বিশ্বব্যাপী উপলব্ধ firebase কমান্ডকে সক্রিয় করে।

  3. লগ ইন করে CLI পরীক্ষা করা চালিয়ে যান।

ম্যাকওএস বা লিনাক্স

আপনি নিম্নলিখিত বিকল্পগুলির মধ্যে একটি ব্যবহার করে macOS বা Linux এর জন্য Firebase CLI ইনস্টল করতে পারেন:

বিকল্প বিবরণ এর জন্য প্রস্তাবিত...
স্বয়ংক্রিয় ইনস্টল স্ক্রিপ্ট একটি একক কমান্ড চালান যা স্বয়ংক্রিয়ভাবে আপনার অপারেটিং সিস্টেম সনাক্ত করে, সর্বশেষ CLI রিলিজ ডাউনলোড করে, তারপর বিশ্বব্যাপী উপলব্ধ firebase কমান্ড সক্ষম করে। নতুন ডেভেলপাররা

ডেভেলপাররা Node.js ব্যবহার করছেন না বা তাদের সাথে অপরিচিত

একটি CI/CD পরিবেশে স্বয়ংক্রিয় স্থাপনা
স্বতন্ত্র বাইনারি CLI এর জন্য স্বতন্ত্র বাইনারি ডাউনলোড করুন। তারপর, আপনি আপনার কর্মপ্রবাহ অনুসারে বাইনারিটি কনফিগার এবং চালাতে পারেন। CLI ব্যবহার করে সম্পূর্ণরূপে কাস্টমাইজযোগ্য কর্মপ্রবাহ
npm সম্পর্কে CLI ইনস্টল করতে এবং বিশ্বব্যাপী উপলব্ধ firebase কমান্ড সক্ষম করতে npm (নোড প্যাকেজ ম্যানেজার) ব্যবহার করুন। Node.js ব্যবহারকারী ডেভেলপাররা

স্বয়ংক্রিয় ইনস্টল স্ক্রিপ্ট

স্বয়ংক্রিয় ইনস্টল স্ক্রিপ্ট ব্যবহার করে Firebase CLI ইনস্টল করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নিম্নলিখিত cURL কমান্ডটি চালান:

    curl -sL https://firebase.tools | bash

    এই স্ক্রিপ্টটি স্বয়ংক্রিয়ভাবে আপনার অপারেটিং সিস্টেম সনাক্ত করে, সর্বশেষ Firebase CLI রিলিজ ডাউনলোড করে, তারপর বিশ্বব্যাপী উপলব্ধ firebase কমান্ড সক্ষম করে।

  2. লগ ইন করে CLI পরীক্ষা করা চালিয়ে যান।

স্বয়ংক্রিয় ইনস্টল স্ক্রিপ্ট সম্পর্কে আরও উদাহরণ এবং বিশদের জন্য, firebase.tools এ স্ক্রিপ্টের সোর্স কোডটি দেখুন।

স্বতন্ত্র বাইনারি

আপনার অপারেটিং সিস্টেমের জন্য নির্দিষ্ট Firebase CLI এর জন্য বাইনারি ডাউনলোড এবং রান করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার অপারেটিং সিস্টেমের জন্য Firebase CLI বাইনারি ডাউনলোড করুন: macOS | Linux

  2. (ঐচ্ছিক) বিশ্বব্যাপী উপলব্ধ firebase কমান্ড সেট আপ করুন।

    1. chmod +x ./firebase_tools চালিয়ে বাইনারি এক্সিকিউটেবল করুন।
    2. আপনার PATH-তে বাইনারির পথ যোগ করুন।
  3. লগ ইন করে CLI পরীক্ষা করা চালিয়ে যান।

npm সম্পর্কে

Firebase সিএলআই ইনস্টল করার জন্য npm (নোড প্যাকেজ ম্যানেজার) ব্যবহার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. nvm (নোড ভার্সন ম্যানেজার) ব্যবহার করে Node.js ইনস্টল করুন।
    Node.js ইনস্টল করলে স্বয়ংক্রিয়ভাবে npm কমান্ড টুল ইনস্টল হয়ে যায়।

  2. নিম্নলিখিত কমান্ডটি চালিয়ে npm এর মাধ্যমে Firebase CLI ইনস্টল করুন:

    npm install -g firebase-tools

    এই কমান্ডটি বিশ্বব্যাপী উপলব্ধ firebase কমান্ডকে সক্রিয় করে।

  3. লগ ইন করে CLI পরীক্ষা করা চালিয়ে যান।

লগ ইন করুন এবং Firebase CLI পরীক্ষা করুন

CLI ইনস্টল করার পর, আপনাকে অবশ্যই প্রমাণীকরণ করতে হবে। তারপর আপনি আপনার Firebase প্রকল্পগুলি তালিকাভুক্ত করে প্রমাণীকরণ নিশ্চিত করতে পারেন।

  1. নিম্নলিখিত কমান্ডটি চালিয়ে আপনার গুগল অ্যাকাউন্ট ব্যবহার করে ফায়ারবেসে লগ ইন করুন:

    firebase login

    এই কমান্ডটি আপনার স্থানীয় মেশিনকে Firebase-এর সাথে সংযুক্ত করে এবং আপনার Firebase প্রকল্পগুলিতে অ্যাক্সেস প্রদান করে।

  2. আপনার Firebase প্রকল্পগুলি তালিকাভুক্ত করে পরীক্ষা করুন যে CLI সঠিকভাবে ইনস্টল করা আছে এবং আপনার অ্যাকাউন্ট অ্যাক্সেস করছে। নিম্নলিখিত কমান্ডটি চালান:

    firebase projects:list

    প্রদর্শিত তালিকাটি Firebase কনসোলে তালিকাভুক্ত Firebase প্রকল্পগুলির মতোই হওয়া উচিত।

সর্বশেষ CLI সংস্করণে আপডেট করুন

সাধারণত, আপনি সবচেয়ে হালনাগাদকৃত Firebase CLI সংস্করণটি ব্যবহার করতে চান।

আপনি কীভাবে CLI সংস্করণ আপডেট করবেন তা আপনার অপারেটিং সিস্টেম এবং আপনি কীভাবে CLI ইনস্টল করেছেন তার উপর নির্ভর করে।

জানালা

ম্যাকওএস

  • স্বয়ংক্রিয় ইনস্টল স্ক্রিপ্ট : curl -sL https://firebase.tools | upgrade=true bash

  • স্বতন্ত্র বাইনারি : নতুন সংস্করণটি ডাউনলোড করুন , তারপর এটি আপনার সিস্টেমে প্রতিস্থাপন করুন।

  • npm : npm install -g firebase-tools চালান

লিনাক্স

  • স্বয়ংক্রিয় ইনস্টল স্ক্রিপ্ট : curl -sL https://firebase.tools | upgrade=true bash

  • স্বতন্ত্র বাইনারি : নতুন সংস্করণটি ডাউনলোড করুন , তারপর এটি আপনার সিস্টেমে প্রতিস্থাপন করুন।

  • npm : npm install -g firebase-tools চালান

Firebase সিএলআই আনইনস্টল করুন

আপনি কীভাবে CLI আনইনস্টল করবেন তা আপনার অপারেটিং সিস্টেম এবং আপনি কীভাবে CLI ইনস্টল করেছেন তার উপর নির্ভর করে।

জানালা

  • স্বতন্ত্র বাইনারি : আপনার ডাউনলোড করা firebase.exe বাইনারিটি মুছে ফেলুন।
  • npm : npm uninstall -g firebase-tools চালান

ম্যাকওএস

  • স্বয়ংক্রিয় ইনস্টল স্ক্রিপ্ট : curl -sL https://firebase.tools | uninstall=true bash

  • স্বতন্ত্র বাইনারি : আপনার ডাউনলোড করা firebase বাইনারিটি মুছে ফেলুন। যদি আপনি আপনার PATH এনভায়রনমেন্ট ভেরিয়েবলে এর অবস্থান যোগ করে থাকেন, তাহলে এটি মুছে ফেলতে ভুলবেন না।

  • npm : npm uninstall -g firebase-tools চালান

লিনাক্স

  • স্বয়ংক্রিয় ইনস্টল স্ক্রিপ্ট : curl -sL https://firebase.tools | uninstall=true bash

  • স্বতন্ত্র বাইনারি : আপনার ডাউনলোড করা firebase বাইনারিটি মুছে ফেলুন। যদি আপনি আপনার PATH এনভায়রনমেন্ট ভেরিয়েবলে এর অবস্থান যোগ করে থাকেন, তাহলে এটি মুছে ফেলতে ভুলবেন না।

  • npm : npm uninstall -g firebase-tools চালান

CI সিস্টেমের সাথে CLI ব্যবহার করুন

CI সিস্টেমের সাথে CLI ব্যবহার করার সময় আমরা আপনাকে অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করে প্রমাণীকরণ করার পরামর্শ দিচ্ছি।

(প্রস্তাবিত) অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করুন

Firebase CLI অ্যাপ্লিকেশন ডিফল্ট শংসাপত্রগুলি সেট করা থাকলে তা সনাক্ত করবে এবং ব্যবহার করবে। CI এবং অন্যান্য হেডলেস পরিবেশে CLI প্রমাণীকরণের সবচেয়ে সহজ উপায় হল অ্যাপ্লিকেশন ডিফল্ট শংসাপত্রগুলি সেট আপ করা

(উত্তরাধিকার) FIREBASE_TOKEN ব্যবহার করুন

বিকল্পভাবে, আপনি FIREBASE_TOKEN ব্যবহার করে প্রমাণীকরণ করতে পারেন। এটি অ্যাপ্লিকেশন ডিফল্ট শংসাপত্রের চেয়ে কম নিরাপদ এবং আর সুপারিশ করা হয় না।

  1. ব্রাউজারযুক্ত মেশিনে, Firebase CLI ইনস্টল করুন

  2. নিম্নলিখিত কমান্ডটি চালিয়ে সাইন ইন প্রক্রিয়া শুরু করুন:

    firebase login:ci
  3. প্রদত্ত URL টি দেখুন, তারপর একটি Google অ্যাকাউন্ট ব্যবহার করে লগ ইন করুন।

  4. একটি নতুন রিফ্রেশ টোকেন প্রিন্ট করুন। বর্তমান CLI সেশন প্রভাবিত হবে না।

  5. আপনার CI সিস্টেমে আউটপুট টোকেনটি একটি নিরাপদ কিন্তু অ্যাক্সেসযোগ্য উপায়ে সংরক্ষণ করুন।

  6. firebase কমান্ড চালানোর সময় এই টোকেনটি ব্যবহার করুন। আপনি নিম্নলিখিত দুটি বিকল্পের যেকোনো একটি ব্যবহার করতে পারেন:

    • বিকল্প ১: টোকেনটিকে পরিবেশ পরিবর্তনশীল FIREBASE_TOKEN হিসেবে সংরক্ষণ করুন। আপনার সিস্টেম স্বয়ংক্রিয়ভাবে টোকেনটি ব্যবহার করবে।

    • বিকল্প ২: আপনার CI সিস্টেমে --token TOKEN ফ্ল্যাগ দিয়ে সমস্ত firebase কমান্ড চালান।
      টোকেন লোডিংয়ের ক্ষেত্রে এটি অগ্রাধিকারের ক্রম: পতাকা, পরিবেশ পরিবর্তনশীল, পছন্দসই ফায়ারবেস প্রকল্প।

একটি ফায়ারবেস প্রকল্প শুরু করুন

CLI ব্যবহার করে সম্পাদিত অনেক সাধারণ কাজ, যেমন Firebase প্রকল্পে স্থাপনের জন্য, একটি প্রকল্প ডিরেক্টরি প্রয়োজন। আপনি firebase init কমান্ড ব্যবহার করে একটি প্রকল্প ডিরেক্টরি স্থাপন করেন। একটি প্রকল্প ডিরেক্টরি সাধারণত আপনার সোর্স কন্ট্রোল রুটের মতো একই ডিরেক্টরি হয় এবং firebase init চালানোর পরে, ডিরেক্টরিতে একটি firebase.json কনফিগারেশন ফাইল থাকে।

একটি নতুন Firebase প্রকল্প শুরু করতে, আপনার অ্যাপের ডিরেক্টরির মধ্যে থেকে নিম্নলিখিত কমান্ডটি চালান:

firebase init

firebase init কমান্ড আপনার প্রোজেক্ট ডিরেক্টরি এবং কিছু Firebase পণ্য সেট আপ করার ধাপগুলি অনুসরণ করে। প্রোজেক্ট ইনিশিয়ালাইজেশনের সময়, Firebase CLI আপনাকে নিম্নলিখিত কাজগুলি সম্পন্ন করতে বলে:

  • একটি ডিফল্ট ফায়ারবেস প্রকল্প নির্বাচন করুন।

    এই ধাপটি বর্তমান প্রকল্প ডিরেক্টরিটিকে একটি Firebase প্রকল্পের সাথে সংযুক্ত করে যাতে প্রকল্প-নির্দিষ্ট কমান্ডগুলি (যেমন firebase deploy ) উপযুক্ত Firebase প্রকল্পের বিরুদ্ধে চলে।

    একই প্রকল্প ডিরেক্টরির সাথে একাধিক ফায়ারবেস প্রকল্প (যেমন একটি স্টেজিং প্রকল্প এবং একটি উৎপাদন প্রকল্প) সংযুক্ত করাও সম্ভব।

  • আপনার Firebase প্রকল্পে সেট আপ করার জন্য পছন্দসই Firebase পণ্য নির্বাচন করুন।

    এই ধাপে আপনাকে নির্বাচিত পণ্যের জন্য নির্দিষ্ট ফাইলের জন্য কনফিগারেশন সেট করতে বলা হবে। এই কনফিগারেশন সম্পর্কে আরও বিস্তারিত জানার জন্য, নির্দিষ্ট পণ্যের ডকুমেন্টেশন (উদাহরণস্বরূপ, Hosting ) দেখুন। মনে রাখবেন যে আপনি আরও Firebase পণ্য সেট আপ করার জন্য পরে সর্বদা firebase init চালাতে পারেন।

আরম্ভের শেষে, Firebase স্বয়ংক্রিয়ভাবে আপনার স্থানীয় অ্যাপ ডিরেক্টরির মূলে নিম্নলিখিত দুটি ফাইল তৈরি করে:

  • একটি firebase.json কনফিগারেশন ফাইল যা আপনার প্রকল্পের কনফিগারেশন তালিকাভুক্ত করে।

  • একটি .firebaserc ফাইল যা আপনার প্রকল্পের উপনাম সংরক্ষণ করে।

firebase.json ফাইল

firebase init কমান্ডটি আপনার প্রোজেক্ট ডিরেক্টরির রুটে একটি firebase.json কনফিগারেশন ফাইল তৈরি করে।

firebase.json ফাইলটি Firebase CLI-এর সাথে সম্পদ স্থাপনের জন্য প্রয়োজনীয় কারণ এটি আপনার প্রকল্প ডিরেক্টরি থেকে কোন ফাইল এবং সেটিংস আপনার Firebase প্রকল্পে স্থাপন করা হবে তা নির্দিষ্ট করে। যেহেতু কিছু সেটিংস আপনার প্রকল্প ডিরেক্টরি বা Firebase কনসোলে সংজ্ঞায়িত করা যেতে পারে, তাই নিশ্চিত করুন যে আপনি যেকোনো সম্ভাব্য স্থাপনার দ্বন্দ্ব সমাধান করেছেন।

আপনি বেশিরভাগ Firebase Hosting বিকল্প সরাসরি firebase.json ফাইলে কনফিগার করতে পারেন। তবে, Firebase CLI দিয়ে স্থাপন করা যেতে পারে এমন অন্যান্য Firebase পরিষেবাগুলির জন্য, firebase init কমান্ড নির্দিষ্ট ফাইল তৈরি করে যেখানে আপনি সেই পরিষেবাগুলির জন্য সেটিংস সংজ্ঞায়িত করতে পারেন, যেমন Cloud Functions এর জন্য একটি index.js ফাইল। আপনি firebase.json ফাইলে predeploy বা postdeploy হুকও সেট আপ করতে পারেন।

আপনি যদি ইনিশিয়ালাইজেশনের সময় Firebase এর জন্য Firebase Hosting , Cloud Firestore , এবং Cloud Functions for Firebase নির্বাচন করেন (TypeScript source এবং lint বিকল্পগুলি নির্বাচন করে) তাহলে ডিফল্ট সেটিংস সহ firebase.json ফাইলের একটি উদাহরণ নিচে দেওয়া হল।

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
  "firestore": {
      "rules": "firestore.rules",
      "indexes": "firestore.indexes.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  }
}

যদিও firebase.json ডিফল্টরূপে ব্যবহৃত হয়, আপনি একটি বিকল্প কনফিগারেশন ফাইল নির্দিষ্ট করতে --config PATH ফ্ল্যাগটি পাস করতে পারেন।

একাধিক Cloud Firestore ডাটাবেসের জন্য কনফিগারেশন

যখন আপনি firebase init চালাবেন, তখন আপনার firebase.json ফাইলে আপনার প্রোজেক্টের ডিফল্ট ডাটাবেসের সাথে সম্পর্কিত একটি একক firestore কী থাকবে, যেমনটি উপরে দেখানো হয়েছে।

যদি আপনার প্রোজেক্টে একাধিক Cloud Firestore ডাটাবেস থাকে, তাহলে প্রতিটি ডাটাবেসের সাথে বিভিন্ন Cloud Firestore Security Rules এবং ডাটাবেস ইনডেক্স সোর্স ফাইল সংযুক্ত করতে আপনার firebase.json ফাইলটি সম্পাদনা করুন। প্রতিটি ডাটাবেসের জন্য একটি এন্ট্রি সহ একটি JSON অ্যারে দিয়ে ফাইলটি পরিবর্তন করুন।

      "firestore": [
        {
          "database": "(default)",
          "rules": "firestore.default.rules",
          "indexes": "firestore.default.indexes.json"
        },
        {
          "database": "ecommerce",
          "rules": "firestore.ecommerce.rules",
          "indexes": "firestore.ecommerce.indexes.json"
        }
      ],

স্থাপনের সময় উপেক্ষা করার জন্য Cloud Functions ফাইলগুলি

ফাংশন স্থাপনের সময়, CLI স্বয়ংক্রিয়ভাবে functions ডিরেক্টরিতে থাকা ফাইলগুলির একটি তালিকা নির্দিষ্ট করে যা উপেক্ষা করা উচিত। এটি ব্যাকএন্ডে বহিরাগত ফাইল স্থাপনকে বাধা দেয় যা আপনার স্থাপনার ডেটা আকার বাড়িয়ে তুলতে পারে।

ডিফল্টরূপে উপেক্ষা করা ফাইলগুলির তালিকা, JSON ফর্ম্যাটে দেখানো হয়েছে, হল:

"ignore": [
  ".git",
  ".runtimeconfig.json",
  "firebase-debug.log",
  "firebase-debug.*.log",
  "node_modules"
]

যদি আপনি firebase.jsonignore এর জন্য নিজস্ব কাস্টম মান যোগ করেন, তাহলে নিশ্চিত করুন যে আপনি উপরে দেখানো ফাইলগুলির তালিকাটি রেখেছেন (অথবা যদি এটি অনুপস্থিত থাকে তবে যোগ করুন)।

প্রকল্পের উপনামগুলি পরিচালনা করুন

আপনি একই প্রজেক্ট ডিরেক্টরির সাথে একাধিক ফায়ারবেস প্রজেক্ট সংযুক্ত করতে পারেন। উদাহরণস্বরূপ, আপনি স্টেজিংয়ের জন্য একটি ফায়ারবেস প্রজেক্ট এবং উৎপাদনের জন্য অন্যটি ব্যবহার করতে চাইতে পারেন। বিভিন্ন প্রজেক্ট পরিবেশ ব্যবহার করে, আপনি উৎপাদনে স্থাপনের আগে পরিবর্তনগুলি যাচাই করতে পারেন। firebase use কমান্ড আপনাকে উপনামগুলির মধ্যে স্যুইচ করার পাশাপাশি নতুন উপনাম তৈরি করতে দেয়।

একটি প্রকল্প উপনাম যোগ করুন

যখন আপনি প্রজেক্ট ইনিশিয়ালাইজেশনের সময় একটি ফায়ারবেস প্রজেক্ট নির্বাচন করেন, তখন প্রজেক্টটি স্বয়ংক্রিয়ভাবে default উপনাম হিসেবে নির্ধারিত হয়। যাইহোক, প্রজেক্ট-নির্দিষ্ট কমান্ডগুলিকে একটি ভিন্ন ফায়ারবেস প্রজেক্টের বিরুদ্ধে চালানোর অনুমতি দেওয়ার জন্য কিন্তু একই প্রজেক্ট ডিরেক্টরি ব্যবহার করার জন্য, আপনার প্রজেক্ট ডিরেক্টরির মধ্যে থেকে নিম্নলিখিত কমান্ডটি চালান:

firebase use --add

এই কমান্ডটি আপনাকে অন্য একটি Firebase প্রকল্প নির্বাচন করতে এবং প্রকল্পটিকে alias হিসেবে বরাদ্দ করতে অনুরোধ করবে। Alias ​​অ্যাসাইনমেন্টগুলি আপনার প্রকল্প ডিরেক্টরির ভিতরে একটি .firebaserc ফাইলে লেখা হয়।

প্রকল্পের উপনাম ব্যবহার করুন

নির্ধারিত Firebase প্রকল্পের উপনাম ব্যবহার করতে, আপনার প্রকল্প ডিরেক্টরির মধ্যে থেকে নিম্নলিখিত যেকোনো কমান্ড চালান।

কমান্ড বিবরণ
firebase use আপনার প্রকল্প ডিরেক্টরির জন্য বর্তমানে সংজ্ঞায়িত উপনামগুলির একটি তালিকা দেখুন
firebase use \
PROJECT_ID|ALIAS
নির্দিষ্ট ফায়ারবেস প্রকল্পের বিরুদ্ধে চালানোর জন্য সমস্ত কমান্ড নির্দেশ করে।
CLI এই প্রকল্পটিকে বর্তমানে "সক্রিয় প্রকল্প" হিসেবে ব্যবহার করে।
firebase use --clear সক্রিয় প্রকল্পটি সাফ করে।

অন্যান্য CLI কমান্ড চালানোর আগে একটি নতুন সক্রিয় প্রকল্প সেট করতে firebase use PROJECT_ID|ALIAS চালান।

firebase use \
--unalias PROJECT_ALIAS
আপনার প্রকল্প ডিরেক্টরি থেকে একটি উপনাম সরিয়ে দেয়।

আপনি যেকোনো CLI কমান্ড দিয়ে --project ফ্ল্যাগ পাস করে বর্তমানে সক্রিয় প্রকল্প হিসেবে ব্যবহৃত জিনিসগুলিকে ওভাররাইড করতে পারেন। উদাহরণস্বরূপ: আপনি আপনার CLI কে এমন একটি Firebase প্রকল্পের বিরুদ্ধে চালানোর জন্য সেট করতে পারেন যা আপনি staging উপনাম নির্ধারণ করেছেন। আপনি যদি prod উপনাম নির্ধারণ করা Firebase প্রকল্পের বিরুদ্ধে একটি একক কমান্ড চালাতে চান, তাহলে আপনি firebase deploy --project=prod চালাতে পারেন, উদাহরণস্বরূপ,।

উৎস নিয়ন্ত্রণ এবং প্রকল্পের উপনাম

সাধারণভাবে, আপনার দলকে প্রকল্পের উপনামগুলি ভাগ করে নেওয়ার অনুমতি দেওয়ার জন্য আপনার .firebaserc ফাইলটি সোর্স কন্ট্রোলে পরীক্ষা করা উচিত। তবে, ওপেন সোর্স প্রকল্প বা স্টার্টার টেমপ্লেটের জন্য, আপনার সাধারণত .firebaserc ফাইলটি পরীক্ষা করা উচিত নয়।

যদি আপনার এমন কোনও ডেভেলপমেন্ট প্রজেক্ট থাকে যা শুধুমাত্র আপনার ব্যবহারের জন্য, তাহলে আপনি প্রতিটি কমান্ডের সাথে --project ফ্ল্যাগটি পাস করতে পারেন অথবা Firebase প্রজেক্টে কোনও উপনাম বরাদ্দ না করেই firebase use PROJECT_ID চালাতে পারেন।

স্থানীয়ভাবে আপনার Firebase প্রকল্প পরিবেশন এবং পরীক্ষা করুন

আপনি আপনার Firebase প্রকল্পটি স্থানীয়ভাবে হোস্ট করা URL গুলিতে প্রোডাকশনে স্থাপন করার আগে দেখতে এবং পরীক্ষা করতে পারেন। আপনি যদি শুধুমাত্র নির্বাচিত বৈশিষ্ট্যগুলি পরীক্ষা করতে চান, তাহলে আপনি firebase serve কমান্ডের একটি ফ্ল্যাগে কমা দ্বারা পৃথক করা তালিকা ব্যবহার করতে পারেন।

আপনি যদি নিম্নলিখিত কাজগুলির যেকোনো একটি করতে চান তবে আপনার স্থানীয় প্রকল্প ডিরেক্টরির রুট থেকে নিম্নলিখিত কমান্ডটি চালান:

  • আপনার Firebase-হোস্টেড অ্যাপের স্ট্যাটিক কন্টেন্ট দেখুন।
  • Firebase Hosting জন্য গতিশীল কন্টেন্ট তৈরি করতে Cloud Functions ব্যবহার করুন এবং আপনি আপনার প্রোডাকশন (স্থাপিত) HTTP ফাংশনগুলি স্থানীয় URL-এ Hosting অনুকরণ করতে ব্যবহার করতে চান।
firebase serve --only hosting

স্থানীয় HTTP ফাংশন ব্যবহার করে আপনার প্রকল্প অনুকরণ করুন

স্থানীয় HTTP ফাংশন ব্যবহার করে আপনার প্রকল্প অনুকরণ করতে আপনার প্রকল্প ডিরেক্টরি থেকে নিম্নলিখিত যেকোনো কমান্ড চালান।

  • স্থানীয় URL-এ পরীক্ষার জন্য HTTP ফাংশন এবং হোস্টিং অনুকরণ করতে, নিম্নলিখিত কমান্ডগুলির যেকোনো একটি ব্যবহার করুন:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • শুধুমাত্র HTTP ফাংশন অনুকরণ করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

    firebase serve --only functions

অন্যান্য স্থানীয় ডিভাইস থেকে পরীক্ষা করুন

ডিফল্টরূপে, firebase serve শুধুমাত্র localhost থেকে আসা অনুরোধের জবাব দেয়। এর অর্থ হল আপনি আপনার কম্পিউটারের ওয়েব ব্রাউজার থেকে আপনার হোস্ট করা সামগ্রী অ্যাক্সেস করতে পারবেন কিন্তু আপনার নেটওয়ার্কের অন্যান্য ডিভাইস থেকে নয়। আপনি যদি অন্যান্য স্থানীয় ডিভাইস থেকে পরীক্ষা করতে চান, তাহলে --host পতাকাটি ব্যবহার করুন, যেমন:

firebase serve --host 0.0.0.0  // accepts requests to any host

একটি Firebase প্রকল্পে স্থাপন করুন

Firebase CLI আপনার Firebase প্রকল্পে কোড এবং সম্পদ স্থাপনের কাজ পরিচালনা করে, যার মধ্যে রয়েছে:

  • আপনার Firebase Hosting সাইটের নতুন প্রকাশনা
  • Cloud Functions for Firebase
  • Firebase Data Connect জন্য নতুন বা আপডেট করা স্কিমা এবং সংযোগকারী
  • Firebase Realtime Database নিয়ম
  • Cloud Storage for Firebase নিয়ম
  • Cloud Firestore নিয়ম
  • Cloud Firestore জন্য সূচী

একটি Firebase প্রকল্পে স্থাপন করতে, আপনার প্রকল্প ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডটি চালান:

firebase deploy

আপনি ঐচ্ছিকভাবে আপনার প্রতিটি স্থাপনার জন্য একটি মন্তব্য যোগ করতে পারেন। এই মন্তব্যটি আপনার প্রকল্পের Firebase Hosting পৃষ্ঠায় অন্যান্য স্থাপনার তথ্যের সাথে প্রদর্শিত হবে। উদাহরণস্বরূপ:

firebase deploy -m "Deploying the best new feature ever."

যখন আপনি firebase deploy কমান্ড ব্যবহার করেন, তখন নিম্নলিখিত বিষয়গুলি সম্পর্কে সচেতন থাকুন:

  • একটি প্রজেক্ট ডিরেক্টরি থেকে রিসোর্স স্থাপন করতে, প্রজেক্ট ডিরেক্টরিতে একটি firebase.json ফাইল থাকতে হবে । এই ফাইলটি স্বয়ংক্রিয়ভাবে firebase init কমান্ড দ্বারা আপনার জন্য তৈরি করা হয়।

  • ডিফল্টরূপে, firebase deploy আপনার প্রোজেক্ট ডিরেক্টরিতে সমস্ত স্থাপনযোগ্য রিসোর্সের জন্য একটি রিলিজ তৈরি করে। নির্দিষ্ট Firebase পরিষেবা বা বৈশিষ্ট্য স্থাপন করতে, আংশিক স্থাপনা ব্যবহার করুন

নিরাপত্তা নিয়মের জন্য স্থাপনার দ্বন্দ্ব

Firebase Realtime Database , Cloud Storage for Firebase এবং Cloud Firestore জন্য, আপনি আপনার স্থানীয় প্রকল্প ডিরেক্টরিতে বা Firebase কনসোলে সুরক্ষা নিয়মগুলি সংজ্ঞায়িত করতে পারেন।

স্থাপনার দ্বন্দ্ব এড়াতে আরেকটি বিকল্প হল আংশিক স্থাপনা ব্যবহার করা এবং শুধুমাত্র Firebase কনসোলে নিয়ম সংজ্ঞায়িত করা।

স্থাপনার কোটা

এটা সম্ভব (যদিও অসম্ভাব্য) যে আপনি এমন একটি কোটা অতিক্রম করতে পারেন যা আপনার Firebase স্থাপনার ক্রিয়াকলাপের হার বা ভলিউমকে সীমিত করে। উদাহরণস্বরূপ, খুব বেশি সংখ্যক ফাংশন স্থাপন করার সময়, আপনি একটি HTTP 429 Quota ত্রুটি বার্তা পেতে পারেন। এই ধরনের সমস্যা সমাধানের জন্য, আংশিক স্থাপনা ব্যবহার করে দেখুন।

একটি স্থাপনা রোল ব্যাক করুন

আপনার প্রকল্পের Firebase Hosting পৃষ্ঠা থেকে পছন্দসই রিলিজের জন্য রোলব্যাক অ্যাকশন নির্বাচন করে আপনি একটি Firebase Hosting স্থাপনা রোলব্যাক করতে পারেন।

Firebase Realtime Database , Cloud Storage for Firebase , অথবা Cloud Firestore এর জন্য নিরাপত্তা নিয়মের রিলিজ রোল ব্যাক করা বর্তমানে সম্ভব নয়।

নির্দিষ্ট Firebase পরিষেবা স্থাপন করুন

যদি আপনি শুধুমাত্র নির্দিষ্ট Firebase পরিষেবা বা বৈশিষ্ট্য স্থাপন করতে চান, তাহলে আপনি firebase deploy কমান্ডের একটি ফ্ল্যাগে কমা দ্বারা পৃথক করা তালিকা ব্যবহার করতে পারেন। উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডটি Firebase Hosting সামগ্রী এবং Cloud Storage সুরক্ষা নিয়ম স্থাপন করে।

firebase deploy --only hosting,storage

নিম্নলিখিত টেবিলে আংশিক স্থাপনার জন্য উপলব্ধ পরিষেবা এবং বৈশিষ্ট্যগুলির তালিকা দেওয়া হয়েছে। ফ্ল্যাগের নামগুলি আপনার firebase.json কনফিগারেশন ফাইলের কীগুলির সাথে মিলে যায়।

ফ্ল্যাগ সিনট্যাক্স পরিষেবা বা বৈশিষ্ট্য স্থাপন করা হয়েছে
--only hosting Firebase Hosting কন্টেন্ট
--only database Firebase Realtime Database নিয়ম
--only dataconnect Firebase Data Connect স্কিমা এবং সংযোগকারী
--only storage Cloud Storage for Firebase
--only firestore সমস্ত কনফিগার করা ডাটাবেসের জন্য Cloud Firestore নিয়ম এবং সূচী
--only functions Cloud Functions for Firebase ( এই পতাকার আরও নির্দিষ্ট সংস্করণ সম্ভব)

নির্দিষ্ট ফাংশন স্থাপন করুন

ফাংশন স্থাপনের সময়, আপনি নির্দিষ্ট ফাংশনগুলিকে লক্ষ্য করতে পারেন। উদাহরণস্বরূপ:

firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2

আরেকটি বিকল্প হল আপনার /functions/index.js ফাইলে ফাংশনগুলিকে এক্সপোর্ট গ্রুপে গ্রুপ করা। ফাংশনগুলিকে গ্রুপ করার মাধ্যমে আপনি একটি কমান্ড ব্যবহার করে একাধিক ফাংশন স্থাপন করতে পারবেন।

উদাহরণস্বরূপ, আপনি একটি groupA এবং একটি groupB সংজ্ঞায়িত করতে নিম্নলিখিত ফাংশনগুলি লিখতে পারেন:

var functions = require('firebase-functions/v1');

exports.groupA = {
  function1: functions.https.onRequest(...),
  function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');

এই উদাহরণে, একটি পৃথক functions/groupB.js ফাইলে অতিরিক্ত ফাংশন রয়েছে যা নির্দিষ্টভাবে groupB এর ফাংশনগুলিকে সংজ্ঞায়িত করে। উদাহরণস্বরূপ:

var functions = require('firebase-functions/v1');

exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);

এই উদাহরণে, আপনি আপনার প্রোজেক্ট ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডটি চালিয়ে সমস্ত groupA ফাংশন স্থাপন করতে পারেন:

firebase deploy --only functions:groupA

অথবা আপনি নিম্নলিখিত কমান্ডটি চালিয়ে একটি গ্রুপের মধ্যে একটি নির্দিষ্ট ফাংশনকে লক্ষ্য করতে পারেন:

firebase deploy --only functions:groupA.function1,groupB.function4

ফাংশন মুছে ফেলুন

Firebase সিএলআই পূর্বে মোতায়েন করা ফাংশনগুলি মুছে ফেলার জন্য নিম্নলিখিত কমান্ড এবং বিকল্পগুলিকে সমর্থন করে:

  • সমস্ত অঞ্চলে নির্দিষ্ট নামের সাথে মেলে এমন সমস্ত ফাংশন মুছে ফেলে:

    firebase functions:delete FUNCTION-1_NAME

  • একটি নন-ডিফল্ট অঞ্চলে চলমান একটি নির্দিষ্ট ফাংশন মুছে ফেলে:

    firebase functions:delete FUNCTION-1_NAME --region REGION_NAME

  • একাধিক ফাংশন মুছে ফেলে:

    firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME

  • একটি নির্দিষ্ট ফাংশন গ্রুপ মুছে ফেলে:

    firebase functions:delete GROUP_NAME

  • নিশ্চিতকরণ প্রম্পটকে বাইপাস করে:

    firebase functions:delete FUNCTION-1_NAME --force

প্রি-ডিপ্লয় এবং পোস্ট-ডিপ্লয় স্ক্রিপ্টেড টাস্ক সেট আপ করুন

আপনি শেল স্ক্রিপ্টগুলিকে firebase deploy কমান্ডের সাথে সংযুক্ত করে predeploy বা postdeploy কাজগুলি সম্পাদন করতে পারেন। উদাহরণস্বরূপ, একটি predeploy স্ক্রিপ্ট TypeScript কোডকে JavaScript-এ স্থানান্তর করতে পারে এবং একটি postdeploy হুক Firebase Hosting এ নতুন সাইটের সামগ্রী স্থাপনের বিষয়ে প্রশাসকদের অবহিত করতে পারে।

predeploy বা postdeploy হুক সেট আপ করতে, আপনার firebase.json কনফিগারেশন ফাইলে bash স্ক্রিপ্ট যোগ করুন। আপনি সরাসরি firebase.json ফাইলে সংক্ষিপ্ত স্ক্রিপ্ট সংজ্ঞায়িত করতে পারেন, অথবা আপনি আপনার প্রোজেক্ট ডিরেক্টরিতে থাকা অন্যান্য ফাইলগুলি উল্লেখ করতে পারেন।

উদাহরণস্বরূপ, নিম্নলিখিত স্ক্রিপ্টটি হল firebase.json এক্সপ্রেশন যা একটি পোস্টডিপ্লয় টাস্কের জন্য যা Firebase Hosting এ সফলভাবে স্থাপনের পরে একটি Slack বার্তা পাঠায়।

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

messageSlack.sh স্ক্রিপ্ট ফাইলটি প্রজেক্ট ডিরেক্টরিতে থাকে এবং দেখতে এরকম:

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://SLACK_WEBHOOK_URL

আপনি যে কোনও অ্যাসেটের জন্য predeploy এবং postdeploy হুক সেট আপ করতে পারেন যা আপনি স্থাপন করতে পারেন । মনে রাখবেন যে firebase deploy চালানো আপনার firebase.json ফাইলে সংজ্ঞায়িত সমস্ত predeploy এবং postdeploy টাস্ক ট্রিগার করে। শুধুমাত্র একটি নির্দিষ্ট Firebase পরিষেবার সাথে সম্পর্কিত কাজগুলি চালানোর জন্য, আংশিক স্থাপন কমান্ড ব্যবহার করুন

predeploy এবং postdeploy উভয় হুকই টার্মিনালে স্ক্রিপ্টের স্ট্যান্ডার্ড আউটপুট এবং এরর স্ট্রিম প্রিন্ট করে। ব্যর্থতার ক্ষেত্রে, নিম্নলিখিত বিষয়গুলি লক্ষ্য করুন:

  • যদি একটি প্রিডপ্লয় হুক প্রত্যাশা অনুযায়ী সম্পন্ন করতে ব্যর্থ হয়, তাহলে ডিপ্লয়মেন্ট বাতিল করা হয়।
  • যদি কোনও কারণে স্থাপনা ব্যর্থ হয়, তাহলে পোস্টডিপ্লয় হুকগুলি ট্রিগার করা হয় না।

পরিবেশের ভেরিয়েবল

প্রিডপ্লয় এবং পোস্টডিপ্লয় হুকগুলিতে চলমান স্ক্রিপ্টগুলির মধ্যে, নিম্নলিখিত পরিবেশ ভেরিয়েবলগুলি উপলব্ধ:

  • $GCLOUD_PROJECT : সক্রিয় প্রকল্পের প্রকল্প আইডি
  • $PROJECT_DIR : firebase.json ফাইল ধারণকারী রুট ডিরেক্টরি
  • $RESOURCE_DIR : (শুধুমাত্র hosting এবং functions স্ক্রিপ্টের জন্য) যে ডিরেক্টরিতে Hosting বা Cloud Functions রিসোর্স স্থাপন করা হবে তার অবস্থান

একাধিক Realtime Database ইনস্ট্যান্স পরিচালনা করুন

একটি ফায়ারবেস প্রকল্পে একাধিক Firebase Realtime Database ইনস্ট্যান্স থাকতে পারে। ডিফল্টরূপে, CLI কমান্ডগুলি আপনার ডিফল্ট ডাটাবেস ইনস্ট্যান্সের সাথে ইন্টারঅ্যাক্ট করে।

যাইহোক, আপনি ব্যবহার করে একটি নন-ডিফল্ট ডাটাবেস ইনস্ট্যান্সের সাথে ইন্টারঅ্যাক্ট করতে পারেন --instance DATABASE_NAME পতাকা। নিম্নলিখিত কমান্ডগুলি --instance পতাকা সমর্থন করে:

  • firebase database:get
  • firebase database:profile
  • firebase database:push
  • firebase database:remove
  • firebase database:set
  • firebase database:update

কমান্ড রেফারেন্স

CLI প্রশাসনিক কমান্ড

কমান্ড বিবরণ
সাহায্য CLI অথবা নির্দিষ্ট কমান্ড সম্পর্কে সাহায্য তথ্য প্রদর্শন করে।
init সম্পর্কে বর্তমান ডিরেক্টরিতে একটি নতুন Firebase প্রকল্প সংযুক্ত করে এবং সেট আপ করে। এই কমান্ডটি বর্তমান ডিরেক্টরিতে একটি firebase.json কনফিগারেশন ফাইল তৈরি করে।
লগইন আপনার Google অ্যাকাউন্টের সাথে CLI প্রমাণীকরণ করে। একটি ওয়েব ব্রাউজারে অ্যাক্সেস প্রয়োজন।
localhost অ্যাক্সেসের অনুমতি দেয় না এমন দূরবর্তী পরিবেশে CLI-তে লগ ইন করতে, ব্যবহার করুন --no-localhost পতাকা।
লগইন:ci অ-ইন্টারেক্টিভ পরিবেশে ব্যবহারের জন্য একটি প্রমাণীকরণ টোকেন তৈরি করে।
লগআউট CLI থেকে আপনার Google অ্যাকাউন্ট সাইন আউট করে।
খোলা প্রাসঙ্গিক প্রকল্প সংস্থানগুলির জন্য একটি ব্রাউজার খোলে।
প্রকল্প: তালিকা আপনার অ্যাক্সেস আছে এমন সমস্ত Firebase প্রকল্পের তালিকা তৈরি করে।
ব্যবহার CLI-এর জন্য সক্রিয় Firebase প্রকল্প সেট করে।
প্রকল্পের উপনাম পরিচালনা করে।

প্রকল্প ব্যবস্থাপনা কমান্ড

কমান্ড বিবরণ
ফায়ারবেস প্রকল্পের ব্যবস্থাপনা
প্রকল্প: অ্যাডফায়ারবেস একটি বিদ্যমান Google Cloud প্রকল্পে Firebase রিসোর্স যোগ করে।
প্রকল্প: তৈরি করুন একটি নতুন Google Cloud প্রকল্প তৈরি করে, তারপর নতুন প্রকল্পে ফায়ারবেস সংস্থান যোগ করে।
প্রকল্প: তালিকা আপনার অ্যাক্সেস আছে এমন সমস্ত Firebase প্রকল্পের তালিকা তৈরি করে।
ফায়ারবেস অ্যাপস (iOS, Android, ওয়েব) পরিচালনা
অ্যাপস: তৈরি করুন সক্রিয় প্রকল্পে একটি নতুন ফায়ারবেস অ্যাপ তৈরি করে।
অ্যাপস:তালিকা সক্রিয় প্রকল্পে নিবন্ধিত Firebase অ্যাপগুলির তালিকা তৈরি করে।
অ্যাপস: sdkconfig একটি Firebase অ্যাপের Google পরিষেবা কনফিগারেশন প্রিন্ট করে।
সেটআপ: ওয়েব বন্ধ করা হয়েছে। পরিবর্তে, apps:sdkconfig ব্যবহার করুন এবং web প্ল্যাটফর্ম আর্গুমেন্ট হিসেবে নির্দিষ্ট করুন।
একটি Firebase ওয়েব অ্যাপের Google পরিষেবা কনফিগারেশন প্রিন্ট করে।
SHA সার্টিফিকেট হ্যাশের ব্যবস্থাপনা (শুধুমাত্র অ্যান্ড্রয়েড)
অ্যাপস: অ্যান্ড্রয়েড: শা: তৈরি করুন \
FIREBASE_APP_ID SHA_HASH
নির্দিষ্ট Firebase Android অ্যাপে নির্দিষ্ট SHA সার্টিফিকেট হ্যাশ যোগ করে।
অ্যাপস:অ্যান্ড্রয়েড:শা:মুছুন \
FIREBASE_APP_ID SHA_HASH
নির্দিষ্ট Firebase Android অ্যাপ থেকে নির্দিষ্ট SHA সার্টিফিকেট হ্যাশ মুছে ফেলে।
অ্যাপস:অ্যান্ড্রয়েড:শা:তালিকা \
FIREBASE_APP_ID
নির্দিষ্ট Firebase Android অ্যাপের জন্য SHA সার্টিফিকেট হ্যাশগুলি তালিকাভুক্ত করে।

স্থাপনা এবং স্থানীয় উন্নয়ন

এই কমান্ডগুলি আপনাকে আপনার Firebase Hosting সাইট স্থাপন এবং ইন্টারঅ্যাক্ট করতে দেয়।

কমান্ড বিবরণ
স্থাপন করা আপনার প্রোজেক্ট ডিরেক্টরি থেকে কোড এবং সম্পদ সক্রিয় প্রোজেক্টে স্থাপন করে। Firebase Hosting এর জন্য, একটি firebase.json কনফিগারেশন ফাইল প্রয়োজন।
পরিবেশন করা আপনার Firebase Hosting কনফিগারেশন দিয়ে একটি স্থানীয় ওয়েব সার্ভার শুরু করে। Firebase Hosting জন্য, একটি firebase.json কনফিগারেশন ফাইল প্রয়োজন।

App Distribution কমান্ড

কমান্ড বিবরণ
অ্যাপডিস্ট্রিবিউশন:ডিস্ট্রিবিউট \
--অ্যাপ FIREBASE_APP_ID
পরীক্ষকদের জন্য বিল্ডটি উপলব্ধ করে।
অ্যাপডিস্ট্রিবিউশন:পরীক্ষক:যোগ করুন প্রকল্পে পরীক্ষক যোগ করে।
অ্যাপডিস্ট্রিবিউশন:পরীক্ষক:সরান প্রকল্প থেকে পরীক্ষকদের সরিয়ে দেয়।

App Hosting কমান্ড

কমান্ড বিবরণ
অ্যাপহোস্টিং:ব্যাকএন্ডস: তৈরি করুন \
--প্রকল্প PROJECT_ID \
--অবস্থান REGION --অ্যাপ APP_ID
একটি App Hosting ব্যাকএন্ড সমন্বিত একটি একক কোডবেসের সাথে সংযুক্ত পরিচালিত সম্পদের সংগ্রহ তৈরি করে। ঐচ্ছিকভাবে একটি বিদ্যমান ফায়ারবেস ওয়েব অ্যাপকে তার ফায়ারবেস অ্যাপ আইডি দ্বারা নির্দিষ্ট করুন।
অ্যাপহোস্টিং:ব্যাকএন্ডস:গেট \
BACKEND_ID \
--প্রকল্প PROJECT_ID \
--অবস্থান REGION
একটি ব্যাকএন্ডের পাবলিক URL সহ নির্দিষ্ট বিবরণ পুনরুদ্ধার করে।
অ্যাপহোস্টিং:ব্যাকএন্ডস:তালিকা \
--প্রকল্প PROJECT_ID
একটি প্রকল্পের সাথে সম্পর্কিত সমস্ত সক্রিয় ব্যাকএন্ডের একটি তালিকা পুনরুদ্ধার করে।
ফায়ারবেস অ্যাপহোস্টিং:ব্যাকএন্ডস:ডিলিট \
BACKEND_ID \
--প্রকল্প PROJECT_ID \
--অবস্থান REGION
প্রকল্প থেকে একটি ব্যাকএন্ড মুছে ফেলে।
ফায়ারবেস অ্যাপহোস্টিং: কনফিগ: এক্সপোর্ট \
--প্রকল্প PROJECT_ID \
--গোপন ENVIRONMENT_NAME
অ্যাপ ইমুলেশনে ব্যবহারের জন্য গোপন তথ্য রপ্তানি করে।
apphosting.yaml এ সংরক্ষিত গোপনীয়তা ডিফল্ট, অথবা সংশ্লিষ্ট apphosting আছে এমন যেকোনো পরিবেশ নির্দিষ্ট করতে --secrets নেয় apphosting. ENVIRONMENT_NAME .yaml ফাইল।
ফায়ারবেস অ্যাপহোস্টিং: রোলআউট: তৈরি করুন \
BACKEND_ID \
--গিট_শাখা BRANCH_NAME \
--গিট_কমিট COMMIT_ID
একটি ম্যানুয়ালি ট্রিগার করা রোলআউট তৈরি করে।
ঐচ্ছিকভাবে একটি শাখার সর্বশেষ কমিট বা একটি নির্দিষ্ট কমিট নির্দিষ্ট করুন। যদি কোনও বিকল্প প্রদান না করা হয়, তাহলে শাখার তালিকা থেকে নির্বাচনের অনুরোধ জানানো হবে।
অ্যাপহোস্টিং:সিক্রেটস:সেট KEY --প্রজেক্ট PROJECT_ID \
--অবস্থান REGION \
--ডেটা-ফাইল DATA_FILE_PATH
সিক্রেট ম্যানেজারে গোপন উপাদান সংরক্ষণ করে।
ঐচ্ছিকভাবে গোপন তথ্য পড়ার জন্য একটি ফাইল পাথ প্রদান করুন। স্ট্যান্ডার্ড ইনপুট থেকে গোপন তথ্য পড়ার জন্য _ তে সেট করুন।
অ্যাপহোস্টিং:সিক্রেটস:গ্রান্টঅ্যাক্সেস KEY BACKEND_ID \
--প্রকল্প PROJECT_ID \
--অবস্থান REGION
ব্যাকএন্ড পরিষেবা অ্যাকাউন্টকে প্রদত্ত গোপনীয়তা অ্যাক্সেস দেয় যাতে এটি App Hosting দ্বারা বিল্ড বা রান টাইমে অ্যাক্সেস করা যায়।
অ্যাপহোস্টিং: গোপন: বর্ণনা করুন KEY \
--প্রকল্প PROJECT_ID
একটি গোপন তথ্য এবং তার সংস্করণের মেটাডেটা পায়।
ফায়ারবেস অ্যাপহোস্টিং: গোপন: অ্যাক্সেস \
KEY[@version] \
--প্রকল্প PROJECT_ID
গোপনীয়তা এবং এর সংস্করণের ভিত্তিতে একটি গোপন মান অ্যাক্সেস করে। সর্বশেষ সংস্করণ অ্যাক্সেস করার জন্য ডিফল্ট।

Authentication (ব্যবহারকারী ব্যবস্থাপনা) কমান্ড

কমান্ড বিবরণ
প্রমাণীকরণ: রপ্তানি সক্রিয় প্রকল্পের ব্যবহারকারী অ্যাকাউন্টগুলি একটি JSON বা CSV ফাইলে রপ্তানি করে। আরও বিস্তারিত জানার জন্য, auth:import এবং auth:export পৃষ্ঠাটি দেখুন।
প্রমাণীকরণ: আমদানি একটি JSON বা CSV ফাইল থেকে ব্যবহারকারীর অ্যাকাউন্টগুলি সক্রিয় প্রকল্পে আমদানি করে। আরও বিস্তারিত জানার জন্য, auth:import এবং auth:export পৃষ্ঠাটি দেখুন।

Cloud Firestore কমান্ড

কমান্ড বিবরণ
ফায়ারস্টোর: অবস্থান

আপনার Cloud Firestore ডাটাবেসের জন্য উপলব্ধ অবস্থানগুলি তালিকাভুক্ত করুন।

ফায়ারস্টোর: ডাটাবেস: DATABASE_ID তৈরি করুন

আপনার ফায়ারবেস প্রজেক্টে নেটিভ মোডে একটি ডাটাবেস ইনস্ট্যান্স তৈরি করুন।

কমান্ডটি নিম্নলিখিত পতাকাগুলি গ্রহণ করে:

  • --location <region name> ডাটাবেসের জন্য স্থাপনার অবস্থান নির্দিষ্ট করতে। মনে রাখবেন আপনি উপলব্ধ অবস্থানগুলি তালিকাভুক্ত করতে firebase firestore:locations চালাতে পারেন। প্রয়োজনীয়
  • --delete-protection <deleteProtectionState> নির্দিষ্ট ডাটাবেস মুছে ফেলার অনুমতি দিতে বা প্রতিরোধ করতে। বৈধ মানগুলি ENABLED বা DISABLED । ডিফল্টরূপে DISABLED
  • --point-in-time-recovery <PITRState> ব্যবহার করে পয়েন্ট-ইন-টাইম পুনরুদ্ধার সক্ষম কিনা তা নির্ধারণ করুন। বৈধ মানগুলি ENABLED অথবা DISABLED । ডিফল্টরূপে DISABLED । ঐচ্ছিক।
ফায়ারস্টোর:ডাটাবেস:তালিকা

আপনার Firebase প্রকল্পের ডাটাবেসগুলির তালিকা তৈরি করুন।

ফায়ারস্টোর: ডাটাবেস: DATABASE_ID পান

আপনার Firebase প্রকল্পে একটি নির্দিষ্ট ডাটাবেসের জন্য ডাটাবেস কনফিগারেশন পান।

ফায়ারস্টোর: ডাটাবেস: আপডেট DATABASE_ID

আপনার Firebase প্রকল্পে একটি নির্দিষ্ট ডাটাবেসের ডাটাবেস কনফিগারেশন আপডেট করুন।

কমপক্ষে একটি পতাকা প্রয়োজন। কমান্ডটি নিম্নলিখিত পতাকাগুলি গ্রহণ করে:

  • --delete-protection <deleteProtectionState> নির্দিষ্ট ডাটাবেস মুছে ফেলার অনুমতি দিতে বা প্রতিরোধ করতে। বৈধ মানগুলি ENABLED বা DISABLED । ডিফল্টরূপে DISABLED
  • --point-in-time-recovery <PITRState> ব্যবহার করে পয়েন্ট-ইন-টাইম পুনরুদ্ধার সক্ষম কিনা তা নির্ধারণ করুন। বৈধ মানগুলি ENABLED অথবা DISABLED । ডিফল্টরূপে DISABLED । ঐচ্ছিক।
ফায়ারস্টোর: ডাটাবেস: DATABASE_ID মুছে ফেলুন

আপনার ফায়ারবেস প্রকল্পের একটি ডাটাবেস মুছুন।

ফায়ারস্টোর: ইনডেক্সেস

আপনার ফায়ারবেস প্রকল্পে একটি ডাটাবেসের জন্য সূচী তালিকাভুক্ত করুন।

কমান্ডটি নিম্নলিখিত পতাকাটি গ্রহণ করে:

  • --database DATABASE_ID ডাটাবেসের নাম উল্লেখ করতে যার জন্য সূচী তালিকাভুক্ত করা হবে। যদি না থাকে, তাহলে ডিফল্ট ডাটাবেসের জন্য সূচী তালিকাভুক্ত করা হয়।
ফায়ারস্টোর: মুছে ফেলুন

সক্রিয় প্রকল্পের ডাটাবেসে থাকা নথি মুছে ফেলে। CLI ব্যবহার করে, আপনি একটি সংগ্রহের সমস্ত নথি পুনরাবৃত্তভাবে মুছে ফেলতে পারেন।

মনে রাখবেন যে CLI ব্যবহার করে Cloud Firestore ডেটা মুছে ফেলার ফলে পঠন এবং মুছে ফেলার খরচ হয়। আরও তথ্যের জন্য, Cloud Firestore বিলিং বোঝা দেখুন।

কমান্ডটি নিম্নলিখিত পতাকাটি গ্রহণ করে:

  • --database DATABASE_ID ডাটাবেসের নাম উল্লেখ করতে যা থেকে ডকুমেন্ট মুছে ফেলা হয়। যদি নির্দিষ্ট না করা থাকে, তাহলে ডিফল্ট ডাটাবেস থেকে ডকুমেন্ট মুছে ফেলা হয়। ঐচ্ছিক।

Cloud Functions for Firebase

কমান্ড বিবরণ
ফাংশন: কনফিগ: ক্লোন Clones another project's environment into the active Firebase project.
functions:config:get Retrieves existing configuration values of the active project's Cloud Functions .
functions:config:set Stores runtime configuration values of the active project's Cloud Functions .
functions:config:unset Removes values from the active project's runtime configuration.
functions:log Reads logs from deployed Cloud Functions .

For more information, refer to the environment configuration documentation .

Crashlytics commands

কমান্ড বিবরণ
crashlytics:mappingfile:generateid \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML
Generates a unique mapping file ID in the specified Android resource (XML) file.
crashlytics:mappingfile:upload \
--app= FIREBASE_APP_ID \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Uploads a Proguard-compatible mapping (TXT) file for this app, and associates it with the mapping file ID declared in the specified Android resource (XML) file.
crashlytics:symbols:upload \
--app= FIREBASE_APP_ID \
PATH/TO/SYMBOLS
Generates a Crashlytics -compatible symbol file for native library crashes on Android and uploads it to Firebase servers.

Data Connect commands

These commands and their use cases are covered in more detail in the Data Connect CLI reference guide .

কমান্ড বিবরণ
dataconnect:services:list Lists all deployed Data Connect services in your Firebase project.
dataconnect:sql:diff \
SERVICE_ID
For the specified service, displays the differences between a local Data Connect schema and your Cloud SQL database schema.
dataconnect:sql:migrate \
--force \
SERVICE_ID
Migrates your Cloud SQL database's schema to match your local Data Connect schema.
dataconnect:sql:grant\
--role= ROLE \
--email= EMAIL \
SERVICE_ID
Grants the SQL role to the specified user or service account email.
For the --role flag, the SQL role to grant is one of: owner , writer , or reader .
For the --email flag, provide the email address of the user or service account to grant the role to.
dataconnect:sdk:generate Generates typed SDKs for your Data Connect connectors.

Extensions commands

কমান্ড বিবরণ
এক্সটেনশন Displays information on how to use Firebase Extensions commands.
Lists the extension instances installed in the active project.
ext:configure \
EXTENSION_INSTANCE_ID
Reconfigures the parameter values of an extension instance in your extension manifest .
ext:info \
PUBLISHER_ID/EXTENSION_ID
Prints detailed information about an extension.
ext:install \
PUBLISHER_ID/EXTENSION_ID
Adds a new instance of an extension into your extension manifest .
ext:list Lists all the extension instances installed in a Firebase project.
Prints the instance ID for each extension.
ext:uninstall \
EXTENSION_INSTANCE_ID
Removes an extension instance from your extension manifest .
ext:update \
EXTENSION_INSTANCE_ID
Updates an extension instance to the latest version in your extension manifest .
ext:export Exports all installed extension instances from your project to your extension manifest .

Extensions publisher commands

কমান্ড বিবরণ
ext:dev:init Initializes a skeleton codebase for a new extension in the current directory.
ext:dev:list \
PUBLISHER_ID
Prints a list of all extensions uploaded by a publisher.
ext:dev:register Registers a Firebase project as an extensions publisher project .
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Deprecates extension versions that match the version predicate.
A version predicate can be a single version (such as 1.0.0 ), or a range of versions (such as >1.0.0 ).
If no version predicate is provided, deprecates all versions of that extension.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Undeprecates extension versions that match the version predicate.
A version predicate can be a single version (such as 1.0.0 ), or a range of versions (such as >1.0.0 ).
If no version predicate is provided, undeprecates all versions of that extension.
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
Uploads a new version of an extension.
ext:dev:usage \
PUBLISHER_ID
Displays install counts and usage metrics for extensions uploaded by a publisher.

Hosting commands

কমান্ড বিবরণ
hosting:disable

Stops serving Firebase Hosting traffic for the active Firebase project.

Your project's Hosting URL will display a "Site Not Found" message after running this command.

Management of Hosting sites
firebase hosting:sites:create \
SITE_ID

Creates a new Hosting site in the active Firebase project using the specified SITE_ID

(Optional) Specify an existing Firebase Web App to associate with the new site by passing the following flag: --app FIREBASE_APP_ID

firebase hosting:sites:delete \
SITE_ID

Deletes the specified Hosting site

The CLI displays a confirmation prompt before deleting the site.

(Optional) Skip the confirmation prompt by passing the following flags: -f or --force

firebase hosting:sites:get \
SITE_ID

Retrieves information about the specified Hosting site

firebase hosting:sites:list

Lists all Hosting sites for the active Firebase project

Management of preview channels
firebase hosting:channel:create \
CHANNEL_ID

নির্দিষ্ট CHANNEL_ID ব্যবহার করে ডিফল্ট Hosting সাইটে একটি নতুন প্রিভিউ চ্যানেল তৈরি করে।

এই কমান্ডটি চ্যানেলে স্থাপন করা হয় না।

firebase hosting:channel:delete \
CHANNEL_ID

নির্দিষ্ট প্রিভিউ চ্যানেল মুছে ফেলে

আপনি কোনও সাইটের লাইভ চ্যানেল মুছতে পারবেন না।

firebase hosting:channel:deploy \
CHANNEL_ID

আপনার Hosting কন্টেন্ট এবং কনফিগারেশন নির্দিষ্ট প্রিভিউ চ্যানেলে স্থাপন করে

যদি প্রিভিউ চ্যানেলটি এখনও বিদ্যমান না থাকে, তাহলে এই কমান্ডটি চ্যানেলে স্থাপনের আগে ডিফল্ট Hosting সাইটে চ্যানেল তৈরি করে।

firebase hosting:channel:list ডিফল্ট Hosting সাইটের সমস্ত চ্যানেল ("লাইভ" চ্যানেল সহ) তালিকাভুক্ত করে।
firebase hosting:channel:open \
CHANNEL_ID
নির্দিষ্ট চ্যানেলের URL-এ একটি ব্রাউজার খোলে অথবা ব্রাউজারে খোলা সম্ভব না হলে URL ফেরত দেয়।
Version cloning
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

নির্দিষ্ট "উৎস" চ্যানেলের সাম্প্রতিকতম মোতায়েন করা সংস্করণটিকে নির্দিষ্ট "টার্গেট" চ্যানেলে ক্লোন করে।

এই কমান্ডটি নির্দিষ্ট "টার্গেট" চ্যানেলেও স্থাপন করা হয়। যদি "টার্গেট" চ্যানেলটি এখনও বিদ্যমান না থাকে, তাহলে এই কমান্ডটি চ্যানেলে স্থাপনের আগে "টার্গেট" Hosting সাইটে একটি নতুন প্রিভিউ চ্যানেল তৈরি করে।

firebase hosting:clone \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

নির্দিষ্ট সংস্করণটিকে নির্দিষ্ট "টার্গেট" চ্যানেলে ক্লোন করে।

এই কমান্ডটি নির্দিষ্ট "টার্গেট" চ্যানেলেও স্থাপন করা হয়। যদি "টার্গেট" চ্যানেলটি এখনও বিদ্যমান না থাকে, তাহলে এই কমান্ডটি চ্যানেলে স্থাপনের আগে "টার্গেট" Hosting সাইটে একটি নতুন প্রিভিউ চ্যানেল তৈরি করে।

আপনি Firebase কনসোলের Hosting ড্যাশবোর্ডে VERSION_ID খুঁজে পেতে পারেন।

Realtime Database commands

Note that you can create your initial, default Realtime Database instance in the Firebase console or by using the general firebase init workflow or the specific firebase init database flow.

Once instances are created, you can manage them as discussed in Manage multiple Realtime Database instances .

কমান্ড বিবরণ
database:get Fetches data from the active project's database and displays it as JSON. Supports querying on indexed data.
database:instances:create Creates a database instance with a specified instance name. Accepts the --location option for creating a database in a specified region. For region names to use with this option, see select locations for your project . If no database instance exists for the current project, you are prompted to run the firebase init flow to create an instance.
database:instances:list List all database instances for this project. Accepts the --location option for listing databases in a specified region. For region names to use with this option see select locations for your project .
database:profile Builds a profile of operations on the active project's database. For more details, refer to Realtime Database operation types .
database:push Pushes new data to a list at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument.
database:remove Deletes all data at a specified location in the active project's database.
database:set Replaces all data at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument.
database:update Performs a partial update at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument.

Remote Config commands

কমান্ড বিবরণ
remoteconfig:versions:list \
--limit NUMBER_OF_VERSIONS
Lists the most recent ten versions of the template. Specify 0 to return all existing versions, or optionally pass the --limit option to limit the number of versions being returned.
remoteconfig:get \
--v, version_number VERSION_NUMBER
--o, output FILENAME
Gets the template by version (defaults to the latest version) and outputs the parameter groups, parameters, and condition names and version into a table. Optionally, you can write the output to a specified file with -o, FILENAME .
remoteconfig:rollback \
--v, version_number VERSION_NUMBER
--force
Rolls back Remote Config template to a specified previous version number or defaults to the immediate previous version (current version -1). Unless --force is passed, prompts Y/N before proceeding to rollback.
remoteconfig:experiments:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
Lists all Remote Config experiments for a project, with optional filtering, number of experiments to return per page (defaults to 10), and page token as the starting offset for the list.
remoteconfig:experiments:get \
EXPERIMENT_ID
Gets the details of the specified Remote Config experiment.
remoteconfig:experiments:delete \
EXPERIMENT_ID
Deletes the specified Remote Config experiment.
remoteconfig:rollouts:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
Lists all Remote Config rollouts for a project, with optional filtering, number of rollouts to return per page (defaults to 10), and page token as the starting offset for the list.
remoteconfig:rollouts:get \
ROLLOUT_ID
Gets the details of the specified Remote Config rollout.
remoteconfig:rollouts:delete \
ROLLOUT_ID
Deletes the specified Remote Config rollout.