Firebase CLI রেফারেন্স

Firebase CLI (GitHub) Firebase প্রোজেক্ট ম্যানেজ, ভিউ ও ডিপ্লয় করার জন্য বিভিন্ন ধরনের টুল প্রদান করে।

Firebase CLI ব্যবহার করার আগে, Firebase প্রোজেক্ট সেট-আপ করুন।

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

Firebase CLI ইনস্টল করুন

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

Windows macOS Linux

Windows

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

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

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

স্ট্যান্ডঅ্যালোন বাইনারি

Firebase CLI-এর জন্য বাইনারি ডাউনলোড ও রান করতে, এইসব ধাপ অনুসরণ করুন:

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

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

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

npm

Firebase CLI ইনস্টল করতে npm (Node Package Manager) ব্যবহার করতে, এই ধাপগুলি অনুসরণ করুন:

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

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

    npm install -g firebase-tools

    এই কমান্ড বিশ্বব্যাপী উপলভ্য firebase কমান্ড চালু করে।

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

macOS অথবা Linux

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

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

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

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

অটোমেটিক ইনস্টল স্ক্রিপ্ট

অটোমেটিক ইনস্টল স্ক্রিপ্ট ব্যবহার করে Firebase CLI ইনস্টল করতে, এইসব ধাপ অনুসরণ করুন:

  1. নিম্নলিখিত cURL কমান্ড রান করুন:

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

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

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

অটোমেটিক ইনস্টল স্ক্রিপ্ট সম্পর্কে আরও উদাহরণ ও বিবরণ পেতে, firebase.tools-এ স্ক্রিপ্টের সোর্স কোড দেখুন।

স্ট্যান্ডঅ্যালোন বাইনারি

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

  1. আপনার OS-এর জন্য Firebase CLI বাইনারি ডাউনলোড করুন: macOS | Linux

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

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

npm

Firebase CLI ইনস্টল করতে npm (Node Package Manager) ব্যবহার করতে, এই ধাপগুলি অনুসরণ করুন:

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

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

    npm install -g firebase-tools

    এই কমান্ড বিশ্বব্যাপী উপলভ্য firebase কমান্ড চালু করে।

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

লগ-ইন করে Firebase CLI পরীক্ষা করুন

CLI ইনস্টল করার পরে, আপনাকে অবশ্যই যাচাই করতে হবে। তারপর, আপনার Firebase প্রোজেক্টের তালিকা তৈরি করে যাচাইকরণ কনফার্ম করতে পারবেন।

  1. নিম্নলিখিত কমান্ড রান করে আপনার Google অ্যাকাউন্ট ব্যবহার করে Firebase-এ লগ-ইন করুন:

    firebase login

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

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

    firebase projects:list

    দেখানো তালিকাটি Firebase কনসোলে তালিকাভুক্ত Firebase প্রোজেক্টের মতোই হতে হবে।

লেটেস্ট CLI ভার্সনে আপডেট করুন

সাধারণত, আপনি সবচেয়ে আপ-টু-ডেট Firebase CLI ভার্সন ব্যবহার করতে চাইবেন।

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

জানলা

macOS

  • অটোমেটিক ইনস্টল স্ক্রিপ্ট: curl -sL https://firebase.tools | upgrade=true bash রান করুন

  • স্ট্যান্ডঅ্যালোন বাইনারি: নতুন ভার্সন ডাউনলোড করুন, তারপর আপনার সিস্টেমে এটি রিপ্লেস করুন

  • npm: npm install -g firebase-tools রান করুন

Linux

  • অটোমেটিক ইনস্টল স্ক্রিপ্ট: curl -sL https://firebase.tools | upgrade=true bash রান করুন

  • স্ট্যান্ডঅ্যালোন বাইনারি: নতুন ভার্সন ডাউনলোড করুন, তারপর আপনার সিস্টেমে এটি রিপ্লেস করুন

  • npm: npm install -g firebase-tools রান করুন

Firebase CLI আনইনস্টল করুন

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

জানলা

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

macOS

  • অটোমেটিক ইনস্টল স্ক্রিপ্ট: রান করুন curl -sL https://firebase.tools | uninstall=true bash

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

  • npm: npm uninstall -g firebase-tools রান করুন

Linux

  • অটোমেটিক ইনস্টল স্ক্রিপ্ট: রান করুন 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 কমান্ড রান করুন।
      টোকেন লোড করার জন্য এটি হল অগ্রাধিকারের ক্রম: ফ্ল্যাগ, এনভায়রনমেন্ট ভেরিয়েবল, কাঙ্ক্ষিত Firebase প্রোজেক্ট।

Firebase প্রোজেক্ট শুরু করা

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

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

firebase init

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

  • ডিফল্ট Firebase প্রোজেক্ট বেছে নিন।

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

    এছাড়াও, একই প্রোজেক্ট ডিরেক্টরির সাথে একাধিক Firebase প্রোজেক্ট যুক্ত করা (যেমন, স্টেজিং প্রোজেক্ট ও প্রোডাকশন প্রোজেক্ট) সম্ভব।

  • আপনার Firebase প্রোজেক্টে সেট-আপ করার জন্য Firebase প্রোডাক্ট বেছে নিন।

    এই ধাপ আপনাকে বেছে নেওয়া প্রোডাক্ট বা ফিচারের জন্য নির্দিষ্ট ফাইলের কনফিগারেশন সেট করার জন্য প্রম্পট করে। এইসব কনফিগারেশন সম্পর্কে আরও জানতে, নির্দিষ্ট প্রোডাক্টের ডকুমেন্টেশন দেখুন (যেমন, Hosting অথবা Authentication)। মনে রাখবেন, আরও Firebase প্রোডাক্ট সেট-আপ করতে আপনি পরে যেকোনও সময় firebase init রান করতে পারবেন।

ইনিশিয়ালাইজেশন শেষ হলে, Firebase অটোমেটিক আপনার লোকাল অ্যাপ ডিরেক্টরির রুটে নিম্নলিখিত দুটি ফাইল তৈরি করে:

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

  • একটি .firebaserc ফাইল যা আপনার প্রোজেক্ট অ্যালাইয়াস স্টোর করে।

firebase.json ফাইল

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

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

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

নিম্নলিখিত firebase.json ফাইলটি হল একটি বিস্তারিত উদাহরণ যা অনেক Firebase পরিষেবার জন্য কনফিগারেশন বিকল্প দেখায়। এছাড়াও, এটি মাল্টি-কোডবেস Cloud Functions, Local Emulator Suite সেট-আপ এবং Remote Config টেমপ্লেটের মতো ফিচার দেখায়। মনে রাখবেন যে কোনও নির্দিষ্ট প্রোজেক্টের জন্য firebase.json ফাইলে শুধুমাত্র সেই নির্দিষ্ট প্রোজেক্টের জন্য সেট-আপ করা Firebase পরিষেবার কনফিগারেশন থাকবে (যেমন, শুধুমাত্র Firebase Hosting এবং Cloud Functions)। $schema কী যোগ করলে অনেক কোড এডিটরে যাচাইকরণ এবং অটো-কমপ্লিশন চালু হয়।

    {
      "$schema": "https://raw.githubusercontent.com/firebase/firebase-tools/master/schema/firebase-config.json",
      "hosting": {
        "public": "public",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ],
        "cleanUrls": true,
        "trailingSlash": false
      },
      "apphosting": {
        "backendId": "my-app",
        "rootDir": "backend",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ]
      },
      "firestore": {
        "rules": "firestore.rules",
        "indexes": "firestore.indexes.json"
      },
      "storage": {
        "rules": "storage.rules"
      },
      "database": {
        "rules": "database.rules.json"
      },
      "dataconnect": {
        "source": "dataconnect",
        "location": "us-central1"
      },
      "functions": [
        {
          "source": "functions",
          "codebase": "default",
          "ignore": [
            "**/.*",
            "**/node_modules/**"
          ],
          "predeploy": [
            "npm --prefix \"$RESOURCE_DIR\" run lint",
            "npm --prefix \"$RESOURCE_DIR\" run build"
          ]
        }
      ],
      "emulators": {
        "auth": {
          "port": 9099
        },
        "functions": {
          "port": 5001
        },
        "firestore": {
          "port": 8080
        },
        "hosting": {
          "port": 5000
        },
        "storage": {
          "port": 9199
        },
        "ui": {
          "enabled": true,
          "port": 4000
        },
        "singleProjectMode": true
      },
      "extensions": {
        "my-storage-resizer": "firebase/storage-resize-images@^0.1.0"
      },
      "auth": {
        "providers": {
          "anonymous": true,
          "emailPassword": true,
          "googleSignIn": {
            "oAuthBrandDisplayName": "My App",
            "supportEmail": "support@myapp.com"
          }
        }
      },
      "remoteconfig": {
        "template": "remoteconfig.template.json"
      }
    }

ডিফল্ট হিসেবে 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.json-এ ignore-এর জন্য নিজের কাস্টম ভ্যালু যোগ করেন, তাহলে নিশ্চিত করুন যে আপনি আগের তালিকায় দেখানো ফাইলের তালিকাটি রেখেছেন (বা যোগ করেছেন, যদি এটি না থাকে)।

প্রোজেক্টের উপনাম ম্যানেজ করুন

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

প্রোজেক্টের উপনাম যোগ করুন

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

firebase use --add

এই কমান্ড আপনাকে অন্য একটি Firebase প্রোজেক্ট বেছে নিতে এবং প্রোজেক্টটিকে উপনাম হিসেবে অ্যাসাইন করতে প্রম্পট করে। আপনার প্রোজেক্ট ডিরেক্টরির মধ্যে .firebaserc ফাইলে অ্যালিয়াস অ্যাসাইনমেন্ট লেখা হয়।

প্রোজেক্টের উপনাম ব্যবহার করুন

অ্যাসাইন করা Firebase প্রোজেক্টের উপনাম ব্যবহার করতে, আপনার প্রোজেক্ট ডিরেক্টরির মধ্যে থেকে নিম্নলিখিত যেকোনও কমান্ড রান করুন।

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

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

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

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

সোর্স কন্ট্রোল ও প্রোজেক্টের উপনাম

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

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

আপনার Firebase প্রোজেক্ট লোকাল ডিভাইসে পরিবেশন ও পরীক্ষা করুন

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

আপনি নিম্নলিখিত টাস্কগুলির মধ্যে কোনও একটি করতে চাইলে, আপনার লোকাল প্রোজেক্ট ডিরেক্টরির রুট থেকে নিম্নলিখিত কমান্ড রান করুন:

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 SQL Connect-এর জন্য নতুন বা আপডেট করা স্কিমা ও কানেক্টর
  • Firebase Realtime Database-এর জন্য Security Rules
  • Cloud Storage for Firebase-এর জন্য Security Rules
  • Cloud Firestore-এর জন্য Security Rules
  • Cloud Firestore-এর জন্য ইন্ডেক্স
  • Authentication-এর জন্য কনফিগারেশন

Firebase প্রোজেক্টে ডিপ্লয় করতে, আপনার প্রোজেক্ট ডিরেক্টরি থেকে নিম্নলিখিত কমান্ড রান করুন:

firebase deploy

আপনি চাইলে প্রতিটি ডেপ্লয়মেন্টে কমেন্ট যোগ করতে পারেন। এই কমেন্টটি আপনার প্রোজেক্টের Firebase Hosting পৃষ্ঠায় অন্যান্য ডিপ্লয়মেন্ট সংক্রান্ত তথ্যের সাথে দেখানো হবে। যেমন:

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

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

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

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

নির্দিষ্ট Firebase পরিষেবা ডিপ্লয় করা

আপনি যদি শুধুমাত্র নির্দিষ্ট Firebase পরিষেবা বা ফিচার ডিপ্লয় করতে চান, তাহলে firebase deploy কমান্ডে ফ্ল্যাগে কমা দিয়ে আলাদা করা তালিকা ব্যবহার করতে পারেন। যেমন, নিম্নলিখিত কমান্ড Firebase Hosting কন্টেন্ট এবং Cloud Storage Security Rules ডেপ্লয় করে।

firebase deploy --only hosting,storage

নিম্নলিখিত সারণীতে আংশিক ডিপ্লয়মেন্টের জন্য উপলভ্য পরিষেবা ও ফিচারের তালিকা দেওয়া হল। ফ্ল্যাগের নাম আপনার firebase.json কনফিগারেশন ফাইলের 'কী'-এর সাথে সম্পর্কিত।

ফ্ল্যাগ সিনট্যাক্স পরিষেবা বা ফিচার ডিপ্লয় করা হয়েছে
--only auth Authenticationটি পরিষেবা প্রদানকারীর কনফিগারেশন
--only database Firebase Realtime Database Security Rules
--only dataconnect Firebase SQL Connect স্কিমা ও কানেক্টর
--only firestore সব কনফিগার করা ডেটাবেসের জন্য Cloud Firestore Security Rules এবং ইন্ডেক্স
--only functions Cloud Functions for Firebase
--only hosting Firebase Hosting কন্টেন্ট
--only storage Cloud Storage for Firebase Security Rules

Security Rules-এর জন্য ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

Firebase Realtime Database, Cloud Storage for Firebase ও Cloud Firestore-এর জন্য, আপনি নিজের লোকাল প্রোজেক্ট ডিরেক্টরি অথবা Firebase কনসোল-এ Security Rules নির্ধারণ করতে পারবেন।

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

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

প্রি-ডিপ্লয় বা পোস্ট-ডিপ্লয় টাস্ক পারফর্ম করতে আপনি firebase deploy কমান্ডের সাথে শেল স্ক্রিপ্ট কানেক্ট করতে পারবেন। যেমন, প্রি-ডিপ্লয় স্ক্রিপ্ট TypeScript কোডকে JavaScript-এ ট্রান্সপাইল করতে পারে এবং পোস্ট-ডিপ্লয় হুক অ্যাডমিনিস্ট্রেটরদের Firebase Hosting-এ নতুন সাইট কন্টেন্ট ডিপ্লয় করার ব্যাপারে বিজ্ঞপ্তি দিতে পারে।

প্রি-ডিপ্লয় বা পোস্ট-ডিপ্লয় হুক সেট-আপ করতে, আপনার firebase.json কনফিগারেশন ফাইলে ব্যাশ স্ক্রিপ্ট যোগ করুন। আপনি 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 ফাইলে উল্লেখ করা প্রি-ডিপ্লয় ও পোস্ট-ডিপ্লয় সংক্রান্ত সব টাস্ক ট্রিগার হয়। নির্দিষ্ট Firebase পরিষেবার সাথে যুক্ত টাস্ক রান করতে, আংশিক ডিপ্লয়মেন্ট কমান্ড ব্যবহার করুন।

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

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

এনভায়রনমেন্ট ভেরিয়েবল

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

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

ডিপ্লয়মেন্ট কোটা

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

ডিপ্লয়মেন্ট রোল ব্যাক করা

আপনি প্রোজেক্টের Firebase Hosting পৃষ্ঠা থেকে Firebase Hosting ডিপ্লয়মেন্ট রোলব্যাক করতে পারবেন। এর জন্য বেছে নেওয়া রিলিজের ক্ষেত্রে রোলব্যাক অ্যাকশন বেছে নিন।

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

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

এই বিভাগে নিম্নলিখিত ব্যবহারিক প্রয়োগ ও প্রোডাক্টের জন্য উপলভ্য কমান্ডের বিবরণ দেওয়া হয়েছে:

CLI অ্যাডমিনিস্ট্রেটিভ কমান্ড

কমান্ড বিবরণ
help CLI বা নির্দিষ্ট কমান্ড সম্পর্কে সহায়তা সংক্রান্ত তথ্য দেখান।
init বর্তমান ডিরেক্টরিতে নতুন Firebase প্রোজেক্ট যুক্ত ও সেট-আপ করুন।
এই কমান্ড বর্তমান ডিরেক্টরিতে একটি firebase.json কনফিগারেশন ফাইল তৈরি করে।
login

আপনার Google অ্যাকাউন্ট দিয়ে CLI যাচাই করুন। ওয়েব ব্রাউজার অ্যাক্সেস করতে হবে।

রিমোট এনভায়রনমেন্টে CLI-তে লগ-ইন করতে, যেখানে localhost-এ অ্যাক্সেস অনুমতি দেওয়া হয় না, সেখানে --no-localhost ফ্ল্যাগ ব্যবহার করুন।

login:ci বন্ধ করা হয়েছে। পরিবর্তে, Google Cloud পরিষেবা অ্যাকাউন্টের (GOOGLE_APPLICATION_CREDENTIALS) সাথে অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল ব্যবহার করুন।
নন-ইন্টার‍্যাক্টিভ এনভায়রনমেন্টে ব্যবহার করার জন্য যাচাইকরণ টোকেন তৈরি করুন।
login:add অতিরিক্ত Google অ্যাকাউন্টে লগ-ইন করুন।
login:list যাচাই করা সব Google অ্যাকাউন্টের তালিকা।
login:use \
EMAIL_ADDRESS
অ্যাক্টিভ Google অ্যাকাউন্ট সেট করুন।
logout CLI থেকে আপনার Google অ্যাকাউন্ট থেকে সাইন-আউট করুন।
open প্রাসঙ্গিক প্রোজেক্ট রিসোর্সের জন্য ব্রাউজার খুলুন।
projects:list আপনার অ্যাক্সেস আছে এমন সব Firebase প্রোজেক্টের তালিকা দেখায়।
use

CLI-এর জন্য অ্যাক্টিভ Firebase প্রোজেক্ট সেট করুন।

প্রোজেক্টের উপনাম ম্যানেজ করা সম্পর্কে আরও জানুন।

প্রোজেক্ট ম্যানেজমেন্ট কমান্ড

কমান্ড বিবরণ
Firebase প্রোজেক্টের ম্যানেজমেন্ট
projects:addfirebase Firebase-নির্দিষ্ট কনফিগারেশন যোগ করুন এবং আগে থেকে থাকা Google Cloud প্রোজেক্টে Firebase-নির্দিষ্ট পরিষেবা চালু করুন।
projects:create নতুন Google Cloud প্রোজেক্ট তৈরি করুন, তারপর Firebase-নির্দিষ্ট কনফিগারেশন যোগ করুন এবং নতুন প্রোজেক্টে Firebase-নির্দিষ্ট পরিষেবা চালু করুন।
projects:list আপনার অ্যাক্সেস আছে এমন সব Firebase প্রোজেক্টের তালিকা দেখায়।
Firebase অ্যাপের ম্যানেজমেন্ট (iOS, Android, ওয়েব)
apps:create নতুন Firebase অ্যাপ তৈরি করুন।
apps:list অ্যাক্টিভ Firebase প্রোজেক্টে রেজিস্টার করা সব Firebase অ্যাপের তালিকা তৈরি করুন।
apps:sdkconfig \
[PLATFORM] \
[FIREBASE_APP_ID]

নির্দিষ্ট Firebase অ্যাপের Firebase কনফিগারেশন প্রিন্ট করুন।

  • PLATFORM-এর ভ্যালু IOS, ANDROID, অথবা WEB (কেস-ইনসেনসিটিভ) হতে পারে। এটি বাদ দিলে, CLI আপনাকে অ্যাক্টিভ Firebase প্রোজেক্টে সব Firebase অ্যাপের দেখানো তালিকা থেকে একটি অ্যাপ বেছে নিতে প্রম্পট করে। অ্যাক্টিভ Firebase প্রোজেক্টে শুধুমাত্র একটি Firebase অ্যাপ থাকলে, CLI অটোমেটিক সেই অ্যাপ বেছে নেয়।
  • FIREBASE_APP_ID হল Firebase অ্যাপের অ্যাপ আইডি (প্রথমে PLATFORM নির্দিষ্ট করতে হবে)। বাদ দেওয়া হলে, CLI অটোমেটিক অ্যাপ বেছে নেয় যদি একটিই ম্যাচ করে, অথবা একাধিক ম্যাচ করলে আপনাকে অ্যাপ বেছে নিতে প্রম্পট করে।

CLI যদি নন-ইন্টার‍্যাক্টিভ মোডে চলে:

  • অ্যাক্টিভ Firebase প্রোজেক্টে যদি শুধুমাত্র একটি Firebase অ্যাপ থাকে, তাহলে আপনি PLATFORM এবং FIREBASE_APP_ID, দুটিই বাদ দিতে পারবেন।
  • অ্যাক্টিভ Firebase প্রোজেক্টে একাধিক Firebase অ্যাপ থাকলে, আপনাকে অবশ্যই PLATFORM (এবং FIREBASE_APP_ID যদি প্রোজেক্টে সেই প্ল্যাটফর্মের ধরনের একাধিক Firebase অ্যাপ থাকে) উল্লেখ করতে হবে।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • -o অথবা --out [FILENAME]
    স্ট্যান্ডার্ড আউটপুটে প্রিন্ট করার পরিবর্তে কনফিগারেশন আউটপুট একটি ফাইলে লিখুন। FILENAME বাদ দেওয়া হলে, ডিফল্ট হিসেবে প্ল্যাটফর্ম-নির্দিষ্ট ফাইলের নাম (iOS-এর জন্য GoogleService-Info.plist, Android-এর জন্য google-services.json বা ওয়েবের জন্য firebase-js-config.json) সেট হয়ে যায়। টার্গেট ফাইল আগে থেকেই থাকলে, CLI আপনাকে ওভাররাইট করার জন্য কনফার্ম করতে প্রম্পট করে (অথবা নন-ইন্টার‍্যাক্টিভ মোডে ব্যর্থ হয়)।
SHA সার্টিফিকেট হ্যাশ ম্যানেজ করা (শুধুমাত্র Android)
apps:android:sha:create \
FIREBASE_ANDROID_APP_ID \
SHA_HASH
নির্দিষ্ট করা Firebase Android অ্যাপে নির্দিষ্ট করা SHA সার্টিফিকেট হ্যাশ যোগ করুন।
apps:android:sha:delete \
FIREBASE_ANDROID_APP_ID \
SHA_ID
নির্দিষ্ট Firebase Android অ্যাপ থেকে নির্দিষ্ট SHA সার্টিফিকেট (apps:android:sha:list থেকে SHA_ID দ্বারা শনাক্ত করা) মুছুন।
apps:android:sha:list \
FIREBASE_ANDROID_APP_ID
নির্দিষ্ট Firebase Android অ্যাপের জন্য সব SHA সার্টিফিকেট হ্যাশের তালিকা দেখুন।

ডেপ্লয়মেন্ট ও লোকাল ডেভেলপমেন্ট

এইসব কমান্ড আপনাকে Firebase প্রোজেক্ট ডিপ্লয় ও ইন্টার‍্যাক্ট করতে দেয়।

কমান্ড বিবরণ
deploy

আপনার প্রোজেক্ট ডিরেক্টরি থেকে অ্যাক্টিভ Firebase প্রোজেক্টে কোড ও অ্যাসেট ডিপ্লয় করুন।

এই কমান্ডের জন্য আপনার প্রোজেক্ট ডিরেক্টরিতে একটি firebase.json কনফিগারেশন ফাইল থাকতে হবে।

Firebase প্রোজেক্টে ডিপ্লয় করা সম্পর্কে আরও জানুন।

serve

আপনার Firebase Hosting কনফিগারেশন এবং/অথবা লোকাল HTTP Cloud Functions (যেমন, --only hosting বা --only functions ব্যবহার করে) পরীক্ষা করতে লোকাল সার্ভার চালু করুন।

এই কমান্ডের জন্য আপনার প্রোজেক্ট ডিরেক্টরিতে একটি firebase.json কনফিগারেশন ফাইল থাকতে হবে।

লোকালি পরিবেশন ও পরীক্ষা করা সম্পর্কে আরও জানুন।

App Distributionটি কমান্ড

কমান্ড বিবরণ
appdistribution:distribute \
RELEASE_BINARY_FILE \
--app FIREBASE_APP_ID
নির্দিষ্ট রিলিজ বাইনারি ফাইল (.apk, .aab, অথবা .ipa) আপলোড করুন এবং নির্দিষ্ট Firebase অ্যাপের জন্য টেস্টারদের কাছে এটি উপলভ্য করুন।
appdistribution:testers:add \
[EMAILS...]

অ্যাক্টিভ Firebase প্রোজেক্টে এক বা একাধিক টেস্টার (স্পেস দিয়ে আলাদা করা EMAILS) যোগ করুন। EMAILS বাদ দেওয়া হলে, আপনাকে অবশ্যই --file FILE পাস করতে হবে।

এই কমান্ড শুধু সেইসব টেস্টারদের যোগ করে যারা আগে থেকে প্রোজেক্টে নেই; এটি আগে থেকে থাকা টেস্টারদের সরায় না বা ওভাররাইট করে না।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগ সমর্থন করে:

  • --file FILE
    টেস্টারদের ইমেল আইডি যোগ করার জন্য কমা বা নিউলাইন দিয়ে আলাদা করা ফাইলটি খালি না রেখে তার পাথ উল্লেখ করুন। EMAILS এবং --file উভয়ই পাস করা হলে, EMAILS অগ্রাধিকার পাবে।
  • --group-alias GROUP_ALIAS
    এছাড়াও, GROUP_ALIAS-এর মাধ্যমে শনাক্ত করা পরীক্ষক গ্রুপে নির্দিষ্ট পরীক্ষকদের যোগ করুন।
appdistribution:testers:remove \
[EMAILS...]

অ্যাক্টিভ Firebase প্রোজেক্ট থেকে পরীক্ষকদের (স্পেস দিয়ে আলাদা করা EMAILS হিসেবে উল্লেখ করা) সরিয়ে দিন। EMAILS বাদ দেওয়া হলে, আপনাকে অবশ্যই --file FILE পাস করতে হবে।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগ সমর্থন করে:

  • --file FILE
    কমা বা নতুন লাইন দিয়ে আলাদা করা ফাইল যেখানে পরীক্ষকের ইমেল আইডি আছে, সেটি সরানোর জন্য পাথ উল্লেখ করুন। (EMAILS এবং --file, দুটিই পাস করা হলে, EMAILS অগ্রাধিকার পায়।)
  • --group-alias GROUP_ALIAS
    অ্যাক্টিভ Firebase প্রোজেক্ট থেকে নির্দিষ্ট করা টেস্টারদের সরানোর পরিবর্তে GROUP_ALIAS-এর মাধ্যমে শনাক্ত করা টেস্টার গ্রুপ থেকে শুধুমাত্র তাদের সরান।
appdistribution:testers:list অ্যাক্টিভ Firebase প্রোজেক্টে টেস্টারদের তালিকা দেখায়।
appdistribution:groups:create \
DISPLAY_NAME \
[GROUP_ALIAS]
নির্দিষ্ট DISPLAY_NAME এবং ঐচ্ছিক GROUP_ALIAS সহ একটি পরীক্ষক গ্রুপ তৈরি করুন।
GROUP_ALIAS বাদ দেওয়া হলে, DISPLAY_NAME থেকে অটোমেটিক একটি উপনাম তৈরি করা হয়।
appdistribution:groups:delete \
GROUP_ALIAS
নির্দিষ্ট করা উপনাম সহ পরীক্ষক গ্রুপ মুছে দিন।
appdistribution:groups:list অ্যাক্টিভ Firebase প্রোজেক্টে সব টেস্টার গ্রুপের তালিকা দেখুন।

App Hostingটি কমান্ড

কমান্ড বিবরণ
apphosting:backends:create \
--backend BACKEND_ID \
--primary-region REGION_NAME \
--app FIREBASE_WEB_APP_ID

একটি কোডবেসের সাথে লিঙ্ক করা ম্যানেজ করা রিসোর্সের কালেকশন তৈরি করুন যার মধ্যে একটি App Hosting ব্যাকএন্ড রয়েছে।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক (তবে সাজেস্ট করা হয়) ফ্ল্যাগ সমর্থন করে:

  • --backend BACKEND_ID
    নতুন App Hosting ব্যাকএন্ডের জন্য আইডি উল্লেখ করুন। ইন্টার‍্যাক্টিভ মোডে বাদ দেওয়া হলে, CLI আপনাকে ব্যাকএন্ড আইডি লিখতে প্রম্পট করে।
  • --primary-region REGION_NAME
    App Hosting ব্যাকএন্ড তৈরি করার জন্য প্রাথমিক অঞ্চল নির্দিষ্ট করুন। ইন্টার‍্যাক্টিভ মোডে বাদ দেওয়া হলে, CLI আপনাকে একটি লোকেশন বেছে নিতে প্রম্পট করে। App Hosting-এর জন্য কাজ করে এমন লোকেশন সম্পর্কে জানুন।
  • -a অথবা --app FIREBASE_WEB_APP_ID
    আগে থেকে থাকা Firebase ওয়েব অ্যাপের অ্যাপ আইডি উল্লেখ করুন। বাদ দেওয়া হলে, CLI অটোমেটিক BACKEND_ID-এর নাম অনুসারে নতুন Firebase ওয়েব অ্যাপ তৈরি ও অ্যাসোসিয়েট করে (প্রোজেক্টটি Firebase অ্যাপ কোটায় না পৌঁছানো পর্যন্ত)।

এই কমান্ডে নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগও কাজ করে:

  • --root-dir ROOT_DIR
    আপনার রিপোজিটরির সাপেক্ষে আপনার অ্যাপের রুট ডিরেক্টরি উল্লেখ করুন। ইন্টার‍্যাক্টিভ মোডে বাদ দেওয়া হলে, CLI আপনাকে ডিরেক্টরির জন্য প্রম্পট করে (ডিফল্ট হিসেবে /)।
  • -s অথবা --service-account SERVICE_ACCOUNT
    সার্ভার চালানোর জন্য ব্যবহৃত পরিষেবা অ্যাকাউন্ট উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে App Hosting কম্পিউট সার্ভিস অ্যাকাউন্ট ব্যবহার করা হয়।

CLI যদি নন-ইন্টার‍্যাক্টিভ মোডে চলে, তাহলে উভয় --backend এবং --primary-region প্রয়োজন।

apphosting:backends:get \
BACKEND_ID

নির্দিষ্ট করা App Hosting ব্যাকএন্ডের সর্বজনীন URL সহ বিবরণ ফিরিয়ে আনুন।

একাধিক অঞ্চলে নির্দিষ্ট করা BACKEND_ID সহ ব্যাকএন্ড থাকলে, CLI একটি সতর্কতা লগ করে এবং প্রথম মিলে যাওয়া ব্যাকএন্ড প্রিন্ট করে (মনে রাখবেন যে এই কমান্ড --location ফ্ল্যাগকে সমর্থন করে না)।

apphosting:backends:list অ্যাক্টিভ Firebase প্রোজেক্টে সব অ্যাক্টিভ App Hosting ব্যাকএন্ডের তালিকা তৈরি করুন।
apphosting:backends:delete \
BACKEND_ID

নির্দিষ্ট করা App Hosting ব্যাকএন্ড মুছুন।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়। কনফার্মেশন প্রম্পট (নন-ইন্টার‍্যাক্টিভ মোডে প্রয়োজন) এড়িয়ে যেতে, নিম্নলিখিত ফ্ল্যাগ পাস করুন: -f বা --force।

একাধিক অঞ্চলে নির্দিষ্ট করা BACKEND_ID সহ ব্যাকএন্ড থাকলে, CLI আপনাকে ইন্টার‍্যাক্টিভ মোডে প্রম্পট করে কোন ব্যাকএন্ড মুছতে হবে তা বেছে নিতে বলে এবং -f বা --force পাস করা হলে ব্যর্থ হয় (মনে রাখবেন যে এই কমান্ড --location ফ্ল্যাগ সাপোর্ট করে না)।

apphosting:rollouts:create \
BACKEND_ID

নির্দিষ্ট App Hosting ব্যাকএন্ডের জন্য ম্যানুয়ালি ট্রিগার করা রোলআউট তৈরি করুন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক, পরস্পরকে বাদ দিয়ে ফ্ল্যাগকে সাপোর্ট করে। কোনওটিই প্রদান করা না হলে, CLI আপনাকে ব্রাঞ্চের তালিকা থেকে বেছে নিতে প্রম্পট করে; নন-ইন্টার‍্যাক্টিভ মোডে, এইসব ফ্ল্যাগের মধ্যে একটি প্রদান করা আবশ্যক।

  • -b অথবা --git-branch BRANCH_NAME
    নির্দিষ্ট Git ব্রাঞ্চে লেটেস্ট কমিট ডিপ্লয় করুন।
  • -g অথবা --git-commit COMMIT_ID
    নির্দিষ্ট করা Git কমিট ডিপ্লয় করুন।

একাধিক অঞ্চলে নির্দিষ্ট করা BACKEND_ID সহ ব্যাকএন্ড থাকলে, এই কমান্ড ইন্টার‍্যাক্টিভ এবং নন-ইন্টার‍্যাক্টিভ, উভয় মোডেই কাজ করে না (মনে রাখবেন যে এই কমান্ড --location ফ্ল্যাগকে সাপোর্ট করে না)।

apphosting:secrets:set \
SECRET_NAME \
--data-file DATA_FILE_PATH

নির্দিষ্ট SECRET_NAME-এর মাধ্যমে Google Cloud Secret Manager-এ সিক্রেট তৈরি বা আপডেট করুন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক (তবে সাজেস্ট করা) ফ্ল্যাগকে সমর্থন করে:

  • --data-file DATA_FILE_PATH
    গোপন ডেটা পড়ার জন্য একটি পাথ নির্দিষ্ট করুন অথবা স্ট্যান্ডার্ড ইনপুট থেকে গোপন ডেটা পড়ার জন্য --এ সেট করুন। বাদ দেওয়া হলে, CLI আপনাকে গোপন মান (মাস্ক করা ইনপুট সহ) লিখতে প্রম্পট করে অথবা স্ট্যান্ডার্ড ইনপুট পাইপ করা থাকলে স্ট্যান্ডার্ড ইনপুট থেকে পড়ে।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগও সাপোর্ট করে:

  • -l অথবা --location REGION_NAME
    নতুন সিক্রেট তৈরি করার সময়, নির্দিষ্ট Google Cloud Secret Manager অঞ্চলে এর রেপ্লিকেশন সীমাবদ্ধ করুন। বাদ দেওয়া হলে, Google Cloud Secret Manager অটোমেটিক গ্লোবাল রেপ্লিকেশন ব্যবহার করে। (আগে থেকে থাকা সিক্রেটের জন্য রেপ্লিকেশন নীতি পরিবর্তন করা যাবে না।)

CLI যদি নন-ইন্টার‍্যাক্টিভ মোডে চলে, তাহলে --data-file DATA_FILE_PATH পাস করুন (অথবা স্ট্যান্ডার্ড ইনপুটে সিক্রেট ভ্যালু পাইপ করুন)।

apphosting:secrets:grantaccess \
SECRET_NAME

ব্যবহারকারী বা গ্রুপ ইমেলের সেট অথবা ব্যাকএন্ডের পরিষেবা অ্যাকাউন্ট-এ নির্দিষ্ট সিক্রেট(গুলি)-এর জন্য অনুমতি দিন। এরপর, বিল্ড বা রান টাইমে App Hosting-এর মাধ্যমে সিক্রেট অ্যাক্সেস করা যেতে পারে।

আপনি এক বা একাধিক SECRET_NAME ভ্যালু পাস করতে পারেন, যা কমা দিয়ে আলাদা করা থাকে। আপনাকে অবশ্যই --emails অথবা --backend উল্লেখ করতে হবে (এই দুটি ফ্ল্যাগ পারস্পরিকভাবে এক্সক্লুসিভ)।

ব্যবহারকারী বা গ্রুপ ইমেলের একটি সেটকে অ্যাক্সেস দিন:

  • -e অথবা --emails EMAILS
    ব্যবহারকারী বা গ্রুপের ইমেলের কমা দ্বারা পৃথক করা তালিকা উল্লেখ করুন যাদের নির্দিষ্ট সিক্রেট(গুলি) অ্যাক্সেস করার অনুমতি দেওয়া উচিত।

ব্যাকএন্ডের পরিষেবা অ্যাকাউন্টে অ্যাক্সেস দিন:

  • -b অথবা --backend BACKEND_ID
    App Hosting ব্যাকএন্ড নির্দিষ্ট করুন যার পরিষেবা অ্যাকাউন্টকে নির্দিষ্ট সিক্রেট অ্যাক্সেস করার অনুমতি দেওয়া উচিত।
  • -l অথবা --location REGION_NAME
    App Hosting ব্যাকএন্ডের জন্য অঞ্চল উল্লেখ করুন। বাদ দেওয়া হলে, CLI সব অঞ্চল জুড়ে ম্যাচিং BACKEND_ID সার্চ করে; একাধিক অঞ্চলে সেই আইডি সহ ব্যাকএন্ড থাকলে, CLI আপনাকে ইন্টার‍্যাক্টিভ মোডে একটি বেছে নিতে প্রম্পট করে (নন-ইন্টার‍্যাক্টিভ মোডে, --location প্রয়োজন)।
apphosting:secrets:revokeaccess \
SECRET_NAME

ব্যবহারকারী বা গ্রুপ ইমেলের সেট থেকে অথবা ব্যাকএন্ডের পরিষেবা অ্যাকাউন্ট থেকে নির্দিষ্ট করা গোপন তথ্যের অনুমতি প্রত্যাহার করুন।

আপনি এক বা একাধিক SECRET_NAME ভ্যালু পাস করতে পারেন, যা কমা দিয়ে আলাদা করা থাকে। আপনাকে অবশ্যই --emails অথবা --backend উল্লেখ করতে হবে (এই দুটি ফ্ল্যাগ পারস্পরিকভাবে এক্সক্লুসিভ)।

ব্যবহারকারী বা গ্রুপ ইমেলের সেট থেকে অ্যাক্সেস তুলে নিন:

  • -e অথবা --emails EMAILS
    ব্যবহারকারী বা গ্রুপের ইমেলের কমা দ্বারা আলাদা করা তালিকা উল্লেখ করুন যেখান থেকে নির্দিষ্ট করা সিক্রেট(গুলি)-এর অ্যাক্সেস প্রত্যাহার করতে হবে।

ব্যাকএন্ডের পরিষেবা অ্যাকাউন্ট থেকে অ্যাক্সেস প্রত্যাহার করা:

  • -b অথবা --backend BACKEND_ID
    App Hosting ব্যাকএন্ড উল্লেখ করুন যার পরিষেবা অ্যাকাউন্টের নির্দিষ্ট গোপন তথ্য থেকে অ্যাক্সেস প্রত্যাহার করা উচিত।
  • -l অথবা --location REGION_NAME
    App Hosting ব্যাকএন্ডের জন্য অঞ্চল উল্লেখ করুন। বাদ দেওয়া হলে, CLI সব অঞ্চল জুড়ে ম্যাচিং BACKEND_ID সার্চ করে; একাধিক অঞ্চলে সেই আইডি সহ ব্যাকএন্ড থাকলে, CLI আপনাকে ইন্টার‍্যাক্টিভ মোডে একটি বেছে নিতে প্রম্পট করে (নন-ইন্টার‍্যাক্টিভ মোডে, --location প্রয়োজন)।
apphosting:secrets:describe \
SECRET_NAME
নির্দিষ্ট সিক্রেট নামের জন্য মেটাডেটা ও ভার্সন ফিরিয়ে আনুন।
apphosting:secrets:access \
SECRET_NAME[@VERSION]
নির্দিষ্ট ভার্সনে নির্দিষ্ট সিক্রেট নামের জন্য সিক্রেটের ভ্যালু অ্যাক্সেস করুন।
[@VERSION] বাদ দেওয়া হলে, ডিফল্ট হিসেবে লেটেস্ট ভার্সন অ্যাক্সেস করা হয়।

Authentication (ব্যবহারকারী ম্যানেজমেন্ট) কমান্ড

কমান্ড বিবরণ
auth:export \
DATA_FILE

অ্যাক্টিভ Firebase প্রোজেক্টের ব্যবহারকারীর অ্যাকাউন্ট JSON বা CSV ফাইলে এক্সপোর্ট করুন।

আরও জানতে, "auth:import এবং auth:export" পৃষ্ঠা দেখুন।

auth:import \
DATA_FILE

JSON বা CSV ফাইল থেকে ব্যবহারকারীর অ্যাকাউন্ট অ্যাক্টিভ Firebase প্রোজেক্টে ইমপোর্ট করুন।

আরও জানতে, "auth:import এবং auth:export" পৃষ্ঠা দেখুন।

Cloud Firestoreটি কমান্ড

কমান্ড বিবরণ
firestore:locations

অ্যাক্টিভ Firebase প্রোজেক্টে Cloud Firestore ডেটাবেস ইনস্ট্যান্সের জন্য উপলভ্য লোকেশনের তালিকা।

Standard সংস্করণ, Enterprise সংস্করণ এবং MongoDB কম্প্যাটিবিলিটি-এর জন্য উপলভ্য লোকেশন সম্পর্কে জানুন।

firestore:databases:create \
DATABASE_ID \
--location REGION_NAME

নির্দিষ্ট লোকেশনে নির্দিষ্ট Cloud Firestore ডেটাবেস ইনস্ট্যান্স (নেটিভ মোডে) তৈরি করুন।
REGION_NAME-এর জন্য উপলভ্য লোকেশনের তালিকা পেতে firebase firestore:locations রান করুন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগ সমর্থন করে:

  • --delete-protection DELETION_PROTECTION_STATE
    নির্দিষ্ট Cloud Firestore ডেটাবেস ইনস্ট্যান্স মুছে ফেলার অনুমতি দিন বা আটকান। সঠিক ভ্যালু হল ENABLED বা DISABLED। বাদ দেওয়া হলে, ডিফল্ট হিসেবে DISABLED সেট করা হয়।
  • --point-in-time-recovery PITR_STATE
    নির্দিষ্ট Cloud Firestore ডেটাবেস ইনস্ট্যান্সের জন্য পয়েন্ট-ইন-টাইম রিকভারি চালু করা আছে কিনা সেট করুন। সঠিক ভ্যালু হল ENABLED বা DISABLED। বাদ দেওয়া হলে, ডিফল্ট হিসেবে DISABLED সেট করা হয়।
  • --edition EDITION
    নির্দিষ্ট Cloud Firestore ডেটাবেস ইনস্ট্যান্সের জন্য সংস্করণ সেট করুন।
    সঠিক ভ্যালু হল standard বা enterprise। বাদ দেওয়া হলে, ডিফল্ট হিসেবে standard সেট করা হয়।
  • --firestore-data-access ENABLEMENT_STATE
    (শুধুমাত্র Enterprise সংস্করণের জন্য) Cloud Firestore API-এর উপলভ্যতা নিয়ন্ত্রণ করুন। সঠিক ভ্যালু হল ENABLED বা DISABLED। বাদ দেওয়া হলে, ডিফল্ট হিসেবে ENABLED সেট করা হয় (তবে, --mongodb-compatible-data-access-এর ভ্যালু ENABLED হলে, ডিফল্ট হিসেবে DISABLED সেট করা হয়)।
  • --mongodb-compatible-data-access ENABLEMENT_STATE
    (শুধুমাত্র Enterprise সংস্করণের জন্য) MongoDB-মানানসই API-এর উপলভ্যতা নিয়ন্ত্রণ করুন। সঠিক ভ্যালু হল ENABLED বা DISABLED। বাদ দেওয়া হলে, ডিফল্ট হিসেবে DISABLED সেট করা হয়।
  • --realtime-updates ENABLEMENT_STATE
    (শুধুমাত্র Enterprise সংস্করণের জন্য) "দেখুন" (রিয়েল-টাইম) ফিচার চালু বা বন্ধ করুন। সঠিক ভ্যালু হল ENABLED বা DISABLED। বাদ দেওয়া হলে, --firestore-data-access-এর মান ENABLED হলে ডিফল্ট হিসেবে ENABLED ব্যবহার করা হয় (অন্যথায়, সার্ভারের ডিফল্ট ব্যবহার করা হয়)।
    এই ফ্ল্যাগ সেট করতে --firestore-data-access-কে ENABLED হতে হবে।
firestore:databases:list

অ্যাক্টিভ Firebase প্রোজেক্টে সব Cloud Firestore ডেটাবেস ইনস্ট্যান্সের তালিকা দেখাও।

firestore:databases:get \
[DATABASE_ID]

নির্দিষ্ট করা Cloud Firestore ডেটাবেস ইনস্ট্যান্সের জন্য ডেটাবেস কনফিগারেশন ফিরিয়ে আনুন।
DATABASE_ID বাদ দেওয়া হলে, ডিফল্ট হিসেবে অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Cloud Firestore ডেটাবেস ইনস্ট্যান্স সেট হয়ে যায়।

টেবিল আউটপুটে সব ডেটাবেসের জন্য ডেটাবেসের Edition অন্তর্ভুক্ত থাকে। এন্টারপ্রাইজ ডেটা অ্যাক্সেস এবং রিয়েল-টাইম আপডেট স্ট্যাটাস ফিল্ড শুধুমাত্র র JSON আউটপুটে অন্তর্ভুক্ত করা হয় যখন --json পাস করা হয়।

firestore:databases:update \
DATABASE_ID

নির্দিষ্ট Cloud Firestore ডেটাবেস ইনস্ট্যান্সের ডেটাবেস কনফিগারেশন আপডেট করুন।

অন্তত একটি ফ্ল্যাগ প্রয়োজন (বাদ দেওয়া ফ্ল্যাগগুলি তাদের বর্তমান সেটিংস বজায় রাখে)। এই কমান্ড নিম্নলিখিত ফ্ল্যাগ সমর্থন করে:

  • --delete-protection DELETION_PROTECTION_STATE
    নির্দিষ্ট Cloud Firestore ডেটাবেস ইনস্ট্যান্স মুছে ফেলার অনুমতি দিন বা আটকান। সঠিক ভ্যালু হল ENABLED বা DISABLED।
  • --point-in-time-recovery PITR_STATE
    নির্দিষ্ট Cloud Firestore ডেটাবেস ইনস্ট্যান্সের জন্য পয়েন্ট-ইন-টাইম রিকভারি চালু করা আছে কিনা সেট করুন। সঠিক ভ্যালু হল ENABLED বা DISABLED।
firestore:databases:delete \
DATABASE_ID

নির্দিষ্ট করা Cloud Firestore ডেটাবেস ইনস্ট্যান্স মুছুন।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়। কনফার্মেশন প্রম্পট (নন-ইন্টার‍্যাক্টিভ মোডে প্রয়োজন) এড়িয়ে যেতে, --force ফ্ল্যাগ পাস করুন। (অন্যান্য কমান্ডের মতো, firestore:databases:delete-এ -f শর্টহ্যান্ড কাজ করে না।)

firestore:indexes

Cloud Firestore ডেটাবেস ইনস্ট্যান্সের জন্য সব ইন্ডেক্সের তালিকা তৈরি করুন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --database DATABASE_ID
    Cloud Firestore ডেটাবেস ইনস্ট্যান্স উল্লেখ করুন যার জন্য ইন্ডেক্স তালিকাভুক্ত করতে হবে। বাদ দেওয়া হলে, অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Cloud Firestore ডেটাবেস ইনস্ট্যান্সের জন্য ইন্ডেক্স তালিকাভুক্ত করা হয়।
firestore:delete \
[PATH]

Cloud Firestore ডেটাবেস ইনস্ট্যান্স থেকে নির্দিষ্ট ডেটাবেস পাথে (PATH) ডকুমেন্ট মুছুন।

--all-collections পাস না করা হলে PATH প্রয়োজন। সাব-কালেকশন আছে এমন কোনও কালেকশন বা ডকুমেন্ট মুছে ফেলা যায় না, যদি না -r/--recursive অথবা --shallow পাস করা হয়।

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

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগ সমর্থন করে:

  • --database DATABASE_ID
    Cloud Firestore ডেটাবেস উল্লেখ করুন যেখান থেকে ডকুমেন্ট মুছতে হবে। বাদ দেওয়া হলে, অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Cloud Firestore ডেটাবেস ইনস্ট্যান্স থেকে ডকুমেন্ট মুছে ফেলা হয়।
  • --all-collections
    ডেটাবেসে থাকা সব কালেকশন মুছে দিন। (এই ফ্ল্যাগ ব্যবহার করার সময় PATH পাস করবেন না।)
  • -r অথবা --recursive
    নির্দিষ্ট পাথে থাকা সব ডকুমেন্ট ও সাবকালেকশন পুনরাবৃত্তিমূলকভাবে মুছে দিন। (--shallow-এর সাথে পাস করা যাবে না।)
  • --shallow
    শুধুমাত্র নির্দিষ্ট লেভেলে থাকা ডকুমেন্ট মুছে দিন এবং সাবকালেকশনে থাকা ডকুমেন্ট এড়িয়ে যান। মনে রাখবেন যে এর ফলে নেস্ট করা ডকুমেন্ট অনাথ হয়ে যেতে পারে। (-r বা --recursive-এর সাথে পাস করা যাবে না।)

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়। কনফার্মেশন প্রম্পট (নন-ইন্টার‍্যাক্টিভ মোডে প্রয়োজন) এড়িয়ে যেতে, নিম্নলিখিত ফ্ল্যাগ পাস করুন: -f বা --force।

Cloud Functions for Firebaseটি কমান্ড

আরও তথ্যের জন্য, এনভায়রনমেন্ট কনফিগারেশন ডকুমেন্টেশন দেখুন।

কমান্ড বিবরণ
functions:config:export

অ্যাক্টিভ Firebase প্রোজেক্টের পুরনো functions.config() রানটাইম কনফিগারেশন, Google Cloud Secret Manager-এ একটি JSON সিক্রেট হিসেবে এক্সপোর্ট করুন (defineJsonSecret-এর সাথে ব্যবহার করার জন্য)।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগ সমর্থন করে:

  • --secret SECRET_NAME
    Google Cloud Secret Manager-এ তৈরি বা আপডেট করার জন্য সিক্রেটের নাম উল্লেখ করুন। বাদ দেওয়া হলে, CLI আপনাকে একটি নাম লিখতে প্রম্পট করে (ডিফল্ট হিসেবে FUNCTIONS_CONFIG_EXPORT)।
  • -f অথবা --force
    প্রম্পট না করেই ডিফল্ট সিক্রেট নেম (FUNCTIONS_CONFIG_EXPORT) ব্যবহার করুন এবং সিক্রেট আগে থেকেই থাকলে, কনফার্মেশন ছাড়াই নতুন সিক্রেট ভার্সন যোগ করুন। (নন-ইন্টার‍্যাক্টিভ মোডে আগে থেকে থাকা গোপনীয় তথ্যে নতুন ভার্সন যোগ করার জন্য প্রয়োজন।)
functions:delete \
FUNCTION_NAME...

অ্যাক্টিভ Firebase প্রোজেক্ট থেকে এক বা একাধিক নির্দিষ্ট ফাংশন মুছে দিন।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়। কনফার্মেশন প্রম্পট (নন-ইন্টার‍্যাক্টিভ মোডে প্রয়োজন) এড়িয়ে যেতে, নিম্নলিখিত ফ্ল্যাগ পাস করুন: -f বা --force।

functions:list অ্যাক্টিভ Firebase প্রোজেক্টে সব ডিপ্লয় করা ফাংশন তালিকাভুক্ত করুন।
functions:log অ্যাক্টিভ Firebase প্রোজেক্টে ডিপ্লয় করা সব Cloud Functions থেকে লগ পড়ুন।
functions:secrets:access \
SECRET_NAME[@VERSION]
নির্দিষ্ট ভার্সনে নির্দিষ্ট সিক্রেট নামের জন্য সিক্রেটের ভ্যালু অ্যাক্সেস করুন।
[@VERSION] বাদ দেওয়া হলে, ডিফল্ট হিসেবে লেটেস্ট ভার্সন অ্যাক্সেস করা হয়।
functions:secrets:destroy \
SECRET_NAME[@VERSION]

নির্দিষ্ট ভার্সনে নির্দিষ্ট সিক্রেট ধ্বংস করুন।
[@VERSION] বাদ দেওয়া হলে, ডিফল্ট হিসেবে লেটেস্ট ভার্সন নষ্ট করে দেওয়া হয়।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়, যা -f বা --force ছাড়া নন-ইন্টার‍্যাক্টিভ মোডে অটোমেটিক কনফার্ম করে। তবে, সিক্রেট এখনও অ্যাক্টিভ ফাংশন এন্ডপয়েন্টের সাথে বাউন্ড থাকলে, এটি ধ্বংস করতে আপনাকে -f বা --force পাস করতে হবে।

functions:secrets:get \
SECRET_NAME
নির্দিষ্ট সিক্রেট নামের জন্য মেটাডেটা ও ভার্সন ফিরিয়ে আনুন।
functions:secrets:prune অ্যাক্টিভ Firebase প্রোজেক্টে ব্যবহার না করা সব সিক্রেট ধ্বংস করুন।
functions:secrets:set \
SECRET_NAME
নির্দিষ্ট সিক্রেট তৈরি বা আপডেট করুন।
functions:shell ফাংশন পরীক্ষা করার জন্য একটি লোকাল ইন্টার‍্যাক্টিভ শেল শুরু করুন।
functions:config:clone \
--from PROJECT_ID

বন্ধ করা হয়েছে।
অ্যাক্টিভ Firebase প্রোজেক্টে অন্য প্রোজেক্টের এনভায়রনমেন্ট ক্লোন করুন।

ডিফল্ট হিসেবে বন্ধ করা আছে। এই কমান্ড ব্যবহার করতে, প্রথমে firebase experiments:enable legacyRuntimeConfigCommands রান করুন।

functions:config:get বন্ধ করা হয়েছে।
অ্যাক্টিভ Firebase প্রোজেক্টের Cloud Functions-এর আগে থেকে থাকা কনফিগারেশন ভ্যালু রিট্রিভ করুন।
functions:config:set \
KEY=VALUE...

বন্ধ করা হয়েছে।
অ্যাক্টিভ Firebase প্রোজেক্টের Cloud Functions-এর রানটাইম কনফিগারেশন ভ্যালু স্টোর করুন।

ডিফল্ট হিসেবে বন্ধ করা আছে। এই কমান্ড ব্যবহার করতে, প্রথমে firebase experiments:enable legacyRuntimeConfigCommands রান করুন।

functions:config:unset \
KEY...

বন্ধ করা হয়েছে।
অ্যাক্টিভ Firebase প্রোজেক্টের রানটাইম কনফিগারেশন থেকে ভ্যালু সরিয়ে দিন।

ডিফল্ট হিসেবে বন্ধ করা আছে। এই কমান্ড ব্যবহার করতে, প্রথমে firebase experiments:enable legacyRuntimeConfigCommands রান করুন।

Crashlyticsটি কমান্ড

কমান্ড বিবরণ
crashlytics:mappingfile:generateid \
--resource-file PATH/TO/ANDROID_RESOURCE.XML
উল্লেখ করা Android রিসোর্স (XML) ফাইলে একটি অনন্য ম্যাপিং ফাইল আইডি জেনারেট করুন।
crashlytics:mappingfile:upload \
--app FIREBASE_APP_ID \
--resource-file PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
নির্দিষ্ট Firebase অ্যাপের জন্য Proguard-এর সাথে মানানসই ম্যাপিং (TXT) ফাইল আপলোড করুন এবং নির্দিষ্ট Android রিসোর্স (XML) ফাইলে ঘোষিত ম্যাপিং ফাইল আইডির সাথে এটি যুক্ত করুন।
crashlytics:symbols:upload \
--app FIREBASE_APP_ID \
PATH/TO/SYMBOLS...

Android নেটিভ লাইব্রেরি ক্র্যাশ (যেমন, Android NDK, বা Unity বা Flutter-এর Android বিল্ড) হওয়ার জন্য Crashlytics-এর সাথে মানানসই সিম্বল ফাইল তৈরি করুন এবং Firebase সার্ভারে আপলোড করুন।

এই কমান্ড শুধুমাত্র Android-এ কাজ করে। iOS dSYMs-এর জন্য, Apple SDK-এর upload-symbols স্ক্রিপ্ট ব্যবহার করুন।

Extensionsটি কমান্ড

কমান্ড বিবরণ
ext Firebase Extensions কমান্ড কীভাবে ব্যবহার করতে হয় সেই সম্পর্কে তথ্য দেখান।
অ্যাক্টিভ প্রোজেক্টে ইনস্টল করা এক্সটেনশন ইনস্ট্যান্সের তালিকা দেখায়।
ext:configure \
EXTENSION_INSTANCE_ID
আপনার এক্সটেনশন ম্যানিফেস্টে এক্সটেনশন ইনস্ট্যান্সের প্যারামিটার ভ্যালু আবার কনফিগার করুন।
ext:info \
PUBLISHER_ID/EXTENSION_ID
কোনও এক্সটেনশন সম্পর্কে বিস্তারিত তথ্য প্রিন্ট করুন।
ext:install \
PUBLISHER_ID/EXTENSION_ID
আপনার এক্সটেনশন ম্যানিফেস্টে এক্সটেনশনের নতুন ইনস্ট্যান্স যোগ করুন।
ext:sdk:install \
EXTENSION_NAME
ফাংশনে এক্সটেনশন সংজ্ঞায়িত করার জন্য SDK ইনস্টল করুন।
ext:list Firebase প্রোজেক্টে ইনস্টল করা সব এক্সটেনশন ইনস্ট্যান্সের তালিকা দেখায়।
প্রতিটি এক্সটেনশনের জন্য ইনস্ট্যান্স আইডি প্রিন্ট করুন।
ext:uninstall \
EXTENSION_INSTANCE_ID
আপনার এক্সটেনশন ম্যানিফেস্ট থেকে এক্সটেনশন ইনস্ট্যান্স সরান।
ext:update \
EXTENSION_INSTANCE_ID \
[UPDATE_SOURCE]

আপনার এক্সটেনশন ম্যানিফেস্টে এক্সটেনশন ইনস্ট্যান্স লেটেস্ট ভার্সনে (অথবা নির্দিষ্ট প্রকাশিত UPDATE_SOURCE ভার্সনে) আপডেট করুন। মনে রাখবেন যে UPDATE_SOURCE-এর জন্য, লোকাল পাথ এবং URL কাজ করে না।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়। ইন্টার‍্যাক্টিভ মোডে এই প্রম্পট এড়িয়ে যেতে আপনি -f বা --force পাস করতে পারেন; তবে, ext:update হল ইন্টার‍্যাক্টিভ-অনলি কমান্ড এবং -f বা --force থাকলেও নন-ইন্টার‍্যাক্টিভ মোডে কাজ করে না।

ext:export আপনার প্রোজেক্ট থেকে সব ইনস্টল করা এক্সটেনশন ইনস্ট্যান্স আপনার এক্সটেনশন ম্যানিফেস্টে এক্সপোর্ট করুন।

Extensionsটি প্রকাশক কমান্ড

কমান্ড বিবরণ
ext:dev:init বর্তমান ডিরেক্টরিতে নতুন এক্সটেনশনের জন্য স্কেলিটন কোডবেস ইনিশিয়ালাইজ করুন।
ext:dev:list \
PUBLISHER_ID
প্রকাশকের আপলোড করা সব এক্সটেনশনের তালিকা প্রিন্ট করুন।
ext:dev:register বন্ধ আছে।
নতুন প্রকাশক প্রোফাইল আইডি রেজিস্টার করার সুবিধা আর কাজ করে না।
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
[VERSION_PREDICATE]
ভার্সন প্রেডিকেটের সাথে ম্যাচ করে এমন এক্সটেনশন ভার্সন বন্ধ করুন।
ভার্সন প্রেডিকেট একটি ভার্সন (যেমন 1.0.0), অথবা ভার্সনের রেঞ্জ (যেমন >1.0.0) হতে পারে।
কোনও ভার্সন প্রেডিকেট প্রদান করা না হলে, সেই এক্সটেনশনের সব ভার্সন বন্ধ হয়ে যায়।
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
এক্সটেনশন ভার্সন আনডেপ্রিকেট করুন যা ভার্সন প্রেডিকেটের সাথে ম্যাচ করে।
ভার্সন প্রেডিকেট একটি ভার্সন (যেমন 1.0.0), অথবা ভার্সনের রেঞ্জ (যেমন >1.0.0) হতে পারে।
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
এক্সটেনশনের নতুন ভার্সন আপলোড করা।
ext:dev:usage \
PUBLISHER_ID
কোনও প্রকাশকের আপলোড করা এক্সটেনশনের জন্য ইনস্টল করার সংখ্যা এবং ব্যবহারের মেট্রিক দেখুন।

Hostingটি কমান্ড

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

Hosting সাইটের জন্য Firebase Hosting ট্রাফিক দেখানো বন্ধ করুন।

এই কমান্ড রান করার পরে সাইটের Hosting URL-এ "সাইট খুঁজে পাওয়া যায়নি" মেসেজ দেখানো হবে।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --site SITE_ID
    বন্ধ করার জন্য Hosting সাইটটি নির্দিষ্ট করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Hosting সাইট সেট হয়ে যায়।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়। কনফার্মেশন প্রম্পট (নন-ইন্টার‍্যাক্টিভ মোডে প্রয়োজন) এড়িয়ে যেতে, নিম্নলিখিত ফ্ল্যাগ পাস করুন: -f বা --force।

Hostingটি সাইটের ম্যানেজমেন্ট
hosting:sites:create \
[SITE_ID]

নির্দিষ্ট SITE_ID ব্যবহার করে নতুন Hosting সাইট তৈরি করুন।

CLI যদি নন-ইন্টার‍্যাক্টিভ মোডে চলে, তাহলে SITE_ID প্রয়োজন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --app FIREBASE_APP_ID
    নতুন Hosting সাইটের সাথে যুক্ত করার জন্য আগে থেকে থাকা Firebase ওয়েব অ্যাপ নির্দিষ্ট করুন।
hosting:sites:delete \
SITE_ID

নির্দিষ্ট করা Hosting সাইট মুছে দিন।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়। কনফার্মেশন প্রম্পট (নন-ইন্টার‍্যাক্টিভ মোডে প্রয়োজন) এড়িয়ে যেতে, নিম্নলিখিত ফ্ল্যাগ পাস করুন: -f বা --force।

hosting:sites:get \
SITE_ID

নির্দিষ্ট করা Hosting সাইট সম্পর্কে বিবরণ ফিরিয়ে আনুন।

টেবিল আউটপুটে সাইট আইডি, ডিফল্ট URL এবং Firebase ওয়েব অ্যাপ আইডি (লিঙ্ক করা থাকলে) অন্তর্ভুক্ত থাকে। অতিরিক্ত মেটাডেটা (যেমন, সাইটটি DEFAULT_SITE নাকি USER_SITE) শুধুমাত্র তখনই র JSON আউটপুটে অন্তর্ভুক্ত করা হয় যখন --json পাস করা হয়।

hosting:sites:list অ্যাক্টিভ Firebase প্রোজেক্টে সব Hosting সাইটের তালিকা দেখায়।
প্রিভিউ চ্যানেল ম্যানেজ করা
hosting:channel:create \
[CHANNEL_ID]

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

CLI যদি নন-ইন্টার‍্যাক্টিভ মোডে চলে, তাহলে CHANNEL_ID প্রয়োজন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --site SITE_ID
    প্রিভিউ চ্যানেল তৈরি করার জন্য Hosting সাইট উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Hosting সাইট সেট হয়ে যায়।
hosting:channel:delete \
CHANNEL_ID

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

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --site SITE_ID
    যে Hosting সাইট থেকে প্রিভিউ চ্যানেল মুছতে চান সেটি উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Hosting সাইট সেট হয়ে যায়।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়। কনফার্মেশন প্রম্পট (নন-ইন্টার‍্যাক্টিভ মোডে প্রয়োজন) এড়িয়ে যেতে, নিম্নলিখিত ফ্ল্যাগ পাস করুন: -f বা --force।

hosting:channel:deploy \
CHANNEL_ID

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

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --only TARGETS
    প্রিভিউ চ্যানেলে ডেপ্লয় করার জন্য firebase.json-এ কনফিগার করা Hosting টার্গেটের কমা দিয়ে আলাদা করা তালিকা উল্লেখ করুন। বাদ দেওয়া হলে, firebase.json-এ কনফিগার করা সব Hosting সাইটে ডিপ্লয় করা হয়।
hosting:channel:list

Hosting সাইটের জন্য সব চ্যানেলের ("লাইভ" চ্যানেল সহ) তালিকা তৈরি করুন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --site SITE_ID
    চ্যানেল তালিকাভুক্ত করার জন্য Hosting সাইট উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Hosting সাইট সেট হয়ে যায়।
hosting:channel:open \
[CHANNEL_ID]

নির্দিষ্ট চ্যানেলের URL-এ ব্রাউজার খুলুন অথবা ব্রাউজারে খোলা সম্ভব না হলে URL ফিরিয়ে দিন।

CLI যদি নন-ইন্টার‍্যাক্টিভ মোডে চলে, তাহলে CHANNEL_ID প্রয়োজন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --site SITE_ID
    প্রিভিউ চ্যানেলের জন্য Hosting সাইট উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Hosting সাইট সেট হয়ে যায়।
ভার্সন ক্লোন করা
hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

নির্দিষ্ট "সোর্স" চ্যানেলে সবচেয়ে সম্প্রতি ডিপ্লয় করা ভার্সনটি নির্দিষ্ট "টার্গেট" চ্যানেলে ক্লোন করুন।

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

hosting:clone \
SOURCE_SITE_ID@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

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

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

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

Realtime Databaseটি কমান্ড

মনে রাখবেন যে আপনি Firebase কনসোলে বা সাধারণ firebase init ওয়ার্কফ্লো বা নির্দিষ্ট firebase init database ফ্লো ব্যবহার করে আপনার প্রাথমিক, ডিফল্ট Realtime Database ইনস্ট্যান্স তৈরি করতে পারবেন।

ইনস্ট্যান্স তৈরি হয়ে গেলে, আপনি CLI ব্যবহার করে নির্দিষ্ট ইনস্ট্যান্স ম্যানেজ ও ইন্টার‍্যাক্ট করুন-এ যেভাবে বর্ণনা করা হয়েছে সেইভাবে সেগুলি ম্যানেজ করতে পারবেন।

কমান্ড বিবরণ
database:get \
PATH

Realtime Database ইনস্ট্যান্সের জন্য নির্দিষ্ট ডেটাবেস লোকেশনে (PATH) ডেটা ফিরিয়ে আনুন এবং JSON হিসেবে ডেটা দেখান। ইন্ডেক্স করা ডেটায় কোয়েরি করার সুবিধা আছে।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --instance DATABASE_NAME
    অ্যাকশনের জন্য Realtime Database ইনস্ট্যান্স উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Realtime Database ইনস্ট্যান্স সেট হয়ে যায়।
database:instances:create \
DATABASE_NAME \
--location REGION_NAME

নির্দিষ্ট লোকেশনে নির্দিষ্ট DATABASE_NAME-এর সাথে Realtime Database ইনস্ট্যান্স তৈরি করুন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক (তবে সাজেস্ট করা) ফ্ল্যাগকে সমর্থন করে:

অ্যাক্টিভ Firebase প্রোজেক্টের জন্য ডিফল্ট Realtime Database ইনস্ট্যান্স তৈরি করতে আপনি এই কমান্ড ব্যবহার করতে পারবেন না। প্রজেক্টে আগে থেকে কোনও Realtime Database ইনস্ট্যান্স না থাকলে, আপনাকে প্রজেক্টের প্রথম Realtime Database ইনস্ট্যান্স (ডিফল্ট ইনস্ট্যান্স) তৈরি করতে firebase init ফ্লো রান করার জন্য প্রম্পট করা হবে।

database:instances:list

অ্যাক্টিভ Firebase প্রোজেক্টে সব Realtime Database ইনস্ট্যান্সের তালিকা দেখায়।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --location REGION_NAME
    Realtime Databaseটি ইনস্ট্যান্সের তালিকা তৈরি করতে নির্দিষ্ট লোকেশন উল্লেখ করুন। উপলভ্য অঞ্চলের নাম জানতে, Realtime Database-এর জন্য লোকেশন দেখুন।
database:profile

Realtime Database ইনস্ট্যান্সের জন্য অপারেশনের প্রোফাইল তৈরি করুন।
আরও জানতে, Realtime Database অপারেশনের ধরন দেখুন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --instance DATABASE_NAME
    অ্যাকশনের জন্য Realtime Database ইনস্ট্যান্স উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Realtime Database ইনস্ট্যান্স সেট হয়ে যায়।
database:push \
PATH \
[INFILE]

Realtime Database ইনস্ট্যান্সে নির্দিষ্ট ডেটাবেস লোকেশনে (PATH) একটি তালিকায় নতুন ডেটা পুশ করুন।

কোনও ফাইল (INFILE), STDIN বা -d (--data) ফ্ল্যাগ থেকে ইনপুট নেয়।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --instance DATABASE_NAME
    অ্যাকশনের জন্য Realtime Database ইনস্ট্যান্স উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Realtime Database ইনস্ট্যান্স সেট করা হয়।
database:remove \
PATH

Realtime Database ইনস্ট্যান্সে নির্দিষ্ট ডেটাবেস লোকেশনে (PATH) সব ডেটা মুছে দিন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --instance DATABASE_NAME
    অ্যাকশনের জন্য Realtime Database ইনস্ট্যান্স উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Realtime Database ইনস্ট্যান্স সেট হয়ে যায়।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়। কনফার্মেশন প্রম্পট (নন-ইন্টার‍্যাক্টিভ মোডে প্রয়োজন) এড়িয়ে যেতে, নিম্নলিখিত ফ্ল্যাগ পাস করুন: -f বা --force।

database:set \
PATH \
[INFILE]

একটি Realtime Database ইনস্ট্যান্সে নির্দিষ্ট করা ডেটাবেস লোকেশনে (PATH) সব ডেটা পরিবর্তন করুন।

কোনও ফাইল (INFILE), STDIN বা -d (--data) ফ্ল্যাগ থেকে ইনপুট নেয়।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --instance DATABASE_NAME
    অ্যাকশনের জন্য Realtime Database ইনস্ট্যান্স উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Realtime Database ইনস্ট্যান্স সেট হয়ে যায়।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়। কনফার্মেশন প্রম্পট (নন-ইন্টার‍্যাক্টিভ মোডে প্রয়োজন) এড়িয়ে যেতে, নিম্নলিখিত ফ্ল্যাগ পাস করুন: -f বা --force।

database:update \
PATH \
[INFILE]

নির্দিষ্ট ডেটাবেস লোকেশনে (PATH) Realtime Database ইনস্ট্যান্সে আংশিক আপডেট করুন।

কোনও ফাইল (INFILE), STDIN বা -d (--data) ফ্ল্যাগ থেকে ইনপুট নেয়।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --instance DATABASE_NAME
    অ্যাকশনের জন্য Realtime Database ইনস্ট্যান্স উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে অ্যাক্টিভ Firebase প্রোজেক্টের ডিফল্ট Realtime Database ইনস্ট্যান্স সেট হয়ে যায়।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়। কনফার্মেশন প্রম্পট (নন-ইন্টার‍্যাক্টিভ মোডে প্রয়োজন) এড়িয়ে যেতে, নিম্নলিখিত ফ্ল্যাগ পাস করুন: -f বা --force।

Remote Configটি কমান্ড

এইসব কমান্ড ও তাদের ব্যবহারের ক্ষেত্র সম্পর্কে আরও বিস্তারিত তথ্য প্রোগ্রাম্যাটিক্যালি Remote Config পরিবর্তন করুন লিঙ্কে দেওয়া আছে।

কমান্ড বিবরণ
remoteconfig:versions:list

Remote Config টেমপ্লেটের সব ভার্সনের তালিকা।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগকে সমর্থন করে:

  • --limit NUMBER_OF_VERSIONS
    ফেরত দেওয়ার জন্য সর্বাধিক কতগুলি ভার্সন থাকবে তা উল্লেখ করুন। আগে থেকে থাকা সব ভার্সন ফিরিয়ে আনতে 0 উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে 10 সেট করা হয়।
remoteconfig:get \
--version-number VERSION_NUMBER

নির্দিষ্ট ভার্সনে Remote Config টেমপ্লেটের বিবরণ ফিরিয়ে আনুন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক (তবে সাজেস্ট করা হয়) ফ্ল্যাগ সমর্থন করে:

  • -v অথবা --version-number VERSION_NUMBER
    Remote Config টেমপ্লেটের কোন ভার্সনটি ফিরিয়ে আনতে চান তা উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে লেটেস্ট ভার্সন ব্যবহার করা হয়।
  • -o বা --output FILENAME
    টেবিল হিসেবে প্রিন্ট করার পরিবর্তে নির্দিষ্ট ফাইলের নাম সহ JSON ফাইলে আউটপুট লিখুন।
remoteconfig:rollback \
--version-number VERSION_NUMBER

Remote Config টেমপ্লেটটি নির্দিষ্ট করা আগের ভার্সনে ফিরিয়ে আনুন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক (তবে সাজেস্ট করা) ফ্ল্যাগকে সমর্থন করে:

  • -v অথবা --version-number VERSION_NUMBER
    রোল ব্যাক করার জন্য Remote Config টেমপ্লেটের ভার্সন উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে ঠিক আগের ভার্সনটি ব্যবহার করা হয় (বর্তমান ভার্সন - ১)।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায়। কনফার্মেশন প্রম্পট (নন-ইন্টার‍্যাক্টিভ মোডে প্রয়োজন) এড়িয়ে যেতে, নিম্নলিখিত ফ্ল্যাগ পাস করুন: -f বা --force।

remoteconfig:experiments:list

অ্যাক্টিভ Firebase প্রোজেক্টে সব Remote Config এক্সপেরিমেন্টের তালিকা দেখায়।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগ সমর্থন করে:

  • --filter EXPRESSION
    এক্সপেরিমেন্ট ফিল্টার করার জন্য এক্সপ্রেশন উল্লেখ করুন।
  • --pageSize NUMBER
    প্রতি পৃষ্ঠায় কতগুলি এক্সপেরিমেন্ট দেখানো হবে তা উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে 10 সেট করা হয়।
  • --pageToken TOKEN
    তালিকার জন্য শুরুর অফসেট নির্দিষ্ট করুন।
remoteconfig:experiments:get \
EXPERIMENT_ID

নির্দিষ্ট করা Remote Config এক্সপেরিমেন্টের বিবরণ ফিরিয়ে আনুন।

টেবিল আউটপুটে এক্সপেরিমেন্টের রিসোর্সের নাম, ডিসপ্লে নাম, স্ট্যাটাস (PENDING, RUNNING, DONE, অথবা EXPIRED), শুরু ও শেষের সময়, ভেরিয়েন্ট (নাম ও ট্রাফিক অ্যালোকেশন ওয়েট) এবং কনফিগার করা উদ্দেশ্য/মেট্রিক অন্তর্ভুক্ত থাকে। --json পাস করা হলে, এক্সপেরিমেন্টের বিবরণ শুধুমাত্র র JSON আউটপুটে অন্তর্ভুক্ত করা হয়।

remoteconfig:experiments:delete \
EXPERIMENT_ID

নির্দিষ্ট করা Remote Config এক্সপেরিমেন্ট মুছে দিন।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায় এবং -f বা --force ফ্ল্যাগ কাজ করে না। নন-ইন্টার‍্যাক্টিভ মোডে, কনফার্মেশন ডিফল্ট হিসেবে 'না'তে সেট করা থাকে এবং এক্সপেরিমেন্ট না মুছেই কমান্ড বন্ধ হয়ে যায়।

remoteconfig:rollouts:list

অ্যাক্টিভ Firebase প্রোজেক্টে সব Remote Config রোলআউটের তালিকা দেখায়।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগ সমর্থন করে:

  • --filter EXPRESSION
    রোল-আউট ফিল্টার করার জন্য এক্সপ্রেশন নির্দিষ্ট করুন।
  • --pageSize NUMBER
    প্রতি পৃষ্ঠায় কতগুলি রোলআউট দেখানো হবে তা উল্লেখ করুন। বাদ দেওয়া হলে, ডিফল্ট হিসেবে 10 সেট করা হয়।
  • --pageToken TOKEN
    তালিকার জন্য শুরুর অফসেট নির্দিষ্ট করুন।
remoteconfig:rollouts:get \
ROLLOUT_ID
নির্দিষ্ট করা Remote Config রোল-আউটের বিবরণ ফিরিয়ে আনুন।
remoteconfig:rollouts:delete \
ROLLOUT_ID

নির্দিষ্ট করা Remote Config রোলআউট মুছে দিন।

অ্যাকশন নেওয়ার আগে CLI একটি কনফার্মেশন প্রম্পট দেখায় এবং -f বা --force ফ্ল্যাগ কাজ করে না। (নন-ইন্টার‍্যাক্টিভ মোডে, কনফার্মেশন ডিফল্ট হিসেবে 'না'তে সেট করা থাকে এবং রোল-আউট মুছে না দিয়েই কমান্ড বন্ধ হয়ে যায়।)

SQL Connectটি কমান্ড

এইসব কমান্ড ও তাদের ব্যবহারের কেস SQL Connect CLI রেফারেন্স গাইড-এ আরও বিস্তারিতভাবে কভার করা হয়েছে।

কমান্ড বিবরণ
dataconnect:services:list অ্যাক্টিভ Firebase প্রোজেক্টে ডিপ্লয় করা সব SQL Connect পরিষেবার তালিকা দেখাও।
dataconnect:sql:diff

স্থানীয় SQL Connect স্কিমা এবং আপনার Cloud SQL ডেটাবেস স্কিমার মধ্যে পার্থক্য দেখান।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগ সমর্থন করে:

  • --service SERVICE_ID
    SQL Connect পরিষেবা আইডি উল্লেখ করুন। বাদ দেওয়া হলে, firebase.json-এ কনফিগার করা একক পরিষেবা ব্যবহার করে। একাধিক পরিষেবা কনফিগার করা থাকলে, --service এবং প্রয়োজন হলে --location উল্লেখ না করলে কমান্ড কাজ করবে না।
  • --location LOCATION
    SQL Connect পরিষেবার লোকেশন উল্লেখ করুন। একাধিক লোকেশন থেকে পরিষেবা আইডি ব্যবহার করা হলে তবেই প্রয়োজন।
dataconnect:sql:migrate

আপনার স্থানীয় SQL Connect স্কিমার সাথে ম্যাচ করতে আপনার Cloud SQL ডেটাবেসের জন্য স্কিমা মাইগ্রেট করুন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগ সমর্থন করে:

  • --service SERVICE_ID
    SQL Connect পরিষেবা আইডি উল্লেখ করুন। বাদ দেওয়া হলে, firebase.json-এ কনফিগার করা একক পরিষেবা ব্যবহার করে (একাধিক পরিষেবা কনফিগার করা থাকলে, আপনি --service এবং, প্রয়োজন হলে, --location নির্দিষ্ট না করলে কমান্ড কাজ করে না)।
  • --location LOCATION
    SQL Connect পরিষেবার লোকেশন উল্লেখ করুন। একাধিক লোকেশন থেকে পরিষেবা আইডি ব্যবহার করা হলে তবেই প্রয়োজন।

ইন্টার‍্যাক্টিভ মোডে, CLI অ্যাকশন নেওয়ার আগে কনফার্মেশন প্রম্পট দেখায়। নন-ইন্টার‍্যাক্টিভ মোডে, নন-ডেসট্রাক্টিভ মাইগ্রেশন অটোমেটিক রান করে, যেখানে ডেসট্রাক্টিভ পরিবর্তন বাতিল হয়ে যায় যদি না আপনি -f বা --force পাস করেন (যা ইন্টার‍্যাক্টিভ মোডে কনফার্মেশন প্রম্পটও এড়িয়ে যায়)।

dataconnect:sql:grant \
--role SQL_ROLE \
--email EMAIL_ADDRESS

ব্যবহারকারী বা পরিষেবা অ্যাকাউন্টের নির্দিষ্ট EMAIL_ADDRESS-কে নির্দিষ্ট SQL_ROLE (এগুলির মধ্যে একটি: owner, writer, অথবা reader) মঞ্জুর করুন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগ সমর্থন করে:

  • --service SERVICE_ID
    SQL Connect পরিষেবা আইডি উল্লেখ করুন। বাদ দেওয়া হলে, firebase.json-এ কনফিগার করা একক পরিষেবা ব্যবহার করে (একাধিক পরিষেবা কনফিগার করা থাকলে, আপনি --service এবং, প্রয়োজন হলে, --location নির্দিষ্ট না করলে কমান্ড কাজ করে না)।
  • --location LOCATION
    SQL Connect পরিষেবার লোকেশন উল্লেখ করুন। একাধিক লোকেশন থেকে পরিষেবা আইডি ব্যবহার করা হলে তবেই প্রয়োজন।
dataconnect:sdk:generate

আপনার SQL Connect কানেক্টরের জন্য টাইপ করা SDK জেনারেট করুন।

এই কমান্ড নিম্নলিখিত ঐচ্ছিক ফ্ল্যাগ সমর্থন করে:

  • --service SERVICE_ID
    SQL Connect পরিষেবা আইডি উল্লেখ করুন। বাদ দেওয়া হলে, সব কনফিগার করা পরিষেবার জন্য SDK জেনারেট করে।
  • --location LOCATION
    SQL Connect পরিষেবার লোকেশন উল্লেখ করুন। একাধিক লোকেশন থেকে পরিষেবা আইডি ব্যবহার করা হলে তবেই প্রয়োজন।
  • --watch
    আপনার কানেক্টর GQL ফাইলে পরিবর্তন লক্ষ্য করুন এবং আপডেট হলে আপনার SDK আবার তৈরি করুন।