Firebase CLI ( GitHub ) ابزارهای مختلفی را برای مدیریت، مشاهده و استقرار پروژههای Firebase فراهم میکند.
قبل از استفاده از Firebase CLI، یک پروژه Firebase راه اندازی کنید .
CLI را راه اندازی یا به روز کنید
Firebase CLI را نصب کنید
میتوانید Firebase CLI را با استفاده از روشی نصب کنید که با سیستمعامل، سطح تجربه و/یا کاربرد شما مطابقت دارد. صرف نظر از نحوه نصب CLI، شما به همان عملکرد و فرمان firebase
دسترسی دارید.
پنجره ها
با استفاده از یکی از گزینه های زیر می توانید Firebase CLI را برای ویندوز نصب کنید:
گزینه | شرح | توصیه شده برای... |
---|---|---|
باینری مستقل | دانلود باینری مستقل برای CLI. سپس، میتوانید به فایل اجرایی دسترسی پیدا کنید تا پوستهای را باز کنید که در آن میتوانید فرمان firebase را اجرا کنید. | توسعه دهندگان جدید توسعه دهندگانی که از Node.js استفاده نمی کنند یا با آن آشنا نیستند |
npm | از npm (Node Package Manager) برای نصب CLI و فعال کردن فرمان firebase در دسترس جهانی استفاده کنید. | توسعه دهندگانی که از Node.js استفاده می کنند |
باینری مستقل
برای دانلود و اجرای باینری برای Firebase CLI، مراحل زیر را دنبال کنید:
باینری Firebase CLI را برای ویندوز دانلود کنید.
برای باز کردن پوسته ای که می توانید فرمان
firebase
را اجرا کنید به باینری دسترسی پیدا کنید.
npm
برای استفاده از npm
(Node Package Manager) برای نصب Firebase CLI، مراحل زیر را دنبال کنید:
Node.js را با استفاده از nvm-windows (Node Version Manager) نصب کنید. نصب Node.js به طور خودکار ابزارهای دستوری
npm
را نصب می کند.Firebase CLI را از طریق
npm
با اجرای دستور زیر نصب کنید:npm install -g firebase-tools
این دستور فرمان
firebase
در سطح جهانی را فعال می کند.
macOS یا Linux
میتوانید Firebase CLI را برای macOS یا Linux با استفاده از یکی از گزینههای زیر نصب کنید:
گزینه | شرح | توصیه شده برای... |
---|---|---|
اسکریپت نصب خودکار | یک فرمان واحد را اجرا کنید که به طور خودکار سیستم عامل شما را شناسایی می کند، آخرین نسخه CLI را دانلود می کند، سپس فرمان firebase در سطح جهانی را فعال می کند. | توسعه دهندگان جدید توسعه دهندگانی که از Node.js استفاده نمی کنند یا با آن آشنا نیستند استقرار خودکار در یک محیط CI/CD |
باینری مستقل | دانلود باینری مستقل برای CLI. سپس، میتوانید باینری را مطابق با گردش کار خود پیکربندی و اجرا کنید. | گردش کار کاملاً قابل تنظیم با استفاده از CLI |
npm | از npm (Node Package Manager) برای نصب CLI و فعال کردن فرمان firebase در دسترس جهانی استفاده کنید. | توسعه دهندگانی که از Node.js استفاده می کنند |
اسکریپت نصب خودکار
برای نصب Firebase CLI با استفاده از اسکریپت نصب خودکار، مراحل زیر را دنبال کنید:
دستور cURL زیر را اجرا کنید:
curl -sL https://firebase.tools | bash
این اسکریپت به طور خودکار سیستم عامل شما را شناسایی می کند، آخرین نسخه Firebase CLI را دانلود می کند، سپس دستور
firebase
در سطح جهانی را فعال می کند.
برای مثالها و جزئیات بیشتر درباره اسکریپت نصب خودکار، به کد منبع اسکریپت در firebase.tools مراجعه کنید.
باینری مستقل
برای دانلود و اجرای باینری برای Firebase CLI که مخصوص سیستم عامل شما است، این مراحل را دنبال کنید:
باینری Firebase CLI را برای سیستم عامل خود دانلود کنید: macOS | لینوکس
(اختیاری) دستور
firebase
در دسترس جهانی را تنظیم کنید.- با اجرای
chmod +x ./firebase_tools
باینری را قابل اجرا کنید. - مسیر باینری را به PATH خود اضافه کنید.
- با اجرای
npm
برای استفاده از npm
(Node Package Manager) برای نصب Firebase CLI، مراحل زیر را دنبال کنید:
Node.js را با استفاده از nvm (Node Version Manager) نصب کنید.
نصب Node.js به طور خودکار ابزارهای دستوریnpm
را نصب می کند.Firebase CLI را از طریق
npm
با اجرای دستور زیر نصب کنید:npm install -g firebase-tools
این دستور فرمان
firebase
در سطح جهانی را فعال می کند.
وارد شوید و Firebase CLI را تست کنید
پس از نصب CLI، باید احراز هویت کنید. سپس می توانید با فهرست کردن پروژه های Firebase خود، احراز هویت را تأیید کنید.
با اجرای دستور زیر با استفاده از حساب Google خود وارد Firebase شوید:
firebase login
این دستور ماشین محلی شما را به Firebase متصل می کند و به شما امکان دسترسی به پروژه های Firebase را می دهد.
با فهرست کردن پروژه های Firebase خود، بررسی کنید که CLI به درستی نصب شده است و به حساب شما دسترسی دارد. دستور زیر را اجرا کنید:
firebase projects:list
لیست نمایش داده شده باید مانند پروژه های Firebase لیست شده در کنسول Firebase باشد.
به آخرین نسخه CLI به روز کنید
به طور کلی، شما می خواهید از به روزترین نسخه Firebase CLI استفاده کنید.
نحوه به روز رسانی نسخه CLI به سیستم عامل شما و نحوه نصب CLI بستگی دارد.
پنجره ها
- باینری مستقل : نسخه جدید را دانلود کنید ، سپس آن را در سیستم خود جایگزین کنید
- npm :
npm install -g firebase-tools
اجرا کنید
سیستم عامل مک
- اسکریپت نصب خودکار : اجرای
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
اجرا کنید
از CLI با سیستم های CI استفاده کنید
Firebase CLI برای تکمیل احراز هویت به مرورگر نیاز دارد، اما CLI کاملاً با CI و سایر محیطهای بدون هد سازگار است.
در دستگاهی با مرورگر، Firebase CLI را نصب کنید .
فرآیند ورود را با اجرای دستور زیر شروع کنید:
firebase login:ci
به URL ارائه شده مراجعه کنید، سپس با استفاده از یک حساب Google وارد شوید.
یک نشانه تازهسازی جدید چاپ کنید. جلسه فعلی CLI تحت تأثیر قرار نخواهد گرفت.
رمز خروجی را به روشی ایمن اما در دسترس در سیستم CI خود ذخیره کنید.
هنگام اجرای دستورات
firebase
از این نشانه استفاده کنید. می توانید از یکی از دو گزینه زیر استفاده کنید:گزینه 1: رمز را به عنوان متغیر محیطی
FIREBASE_TOKEN
ذخیره کنید. سیستم شما به طور خودکار از رمز استفاده می کند.گزینه 2: تمام دستورات
firebase
را با پرچم--token TOKEN
در سیستم CI خود اجرا کنید.
این ترتیب اولویت برای بارگذاری رمز است: پرچم، متغیر محیطی، پروژه Firebase مورد نظر.
یک پروژه Firebase را راه اندازی کنید
بسیاری از کارهای معمولی که با استفاده از CLI انجام می شوند، مانند استقرار در یک پروژه Firebase، به یک فهرست پروژه نیاز دارند. شما با استفاده از دستور firebase init
یک دایرکتوری پروژه ایجاد می کنید. دایرکتوری پروژه معمولاً همان دایرکتوری است که ریشه کنترل منبع شما دارد و پس از اجرای firebase init
، دایرکتوری حاوی یک فایل پیکربندی firebase.json
است.
برای مقداردهی اولیه یک پروژه Firebase جدید، دستور زیر را از دایرکتوری برنامه خود اجرا کنید:
firebase init
فرمان firebase init
شما را به راه اندازی فهرست راهنمای پروژه و برخی محصولات Firebase می رساند. در طول اولیه سازی پروژه، Firebase CLI از شما می خواهد کارهای زیر را تکمیل کنید:
محصولات Firebase مورد نظر را برای راه اندازی در پروژه Firebase خود انتخاب کنید.
این مرحله از شما میخواهد تنظیماتی را برای فایلهای خاص برای محصولات انتخاب شده تنظیم کنید. برای جزئیات بیشتر در مورد این تنظیمات، به مستندات محصول خاص (به عنوان مثال، میزبانی ) مراجعه کنید. توجه داشته باشید که همیشه میتوانید
firebase init
بعداً برای راهاندازی محصولات Firebase بیشتری اجرا کنید.یک پروژه Firebase پیش فرض را انتخاب کنید.
این مرحله دایرکتوری پروژه فعلی را با یک پروژه Firebase مرتبط می کند تا دستورات خاص پروژه (مانند
firebase deploy
) در برابر پروژه Firebase مناسب اجرا شوند.همچنین می توان چندین پروژه Firebase (مانند یک پروژه مرحله بندی و یک پروژه تولید) را با یک فهرست پروژه مرتبط کرد .
در پایان مقداردهی اولیه، Firebase به طور خودکار دو فایل زیر را در ریشه فهرست برنامه محلی شما ایجاد می کند:
یک فایل پیکربندی
firebase.json
که پیکربندی پروژه شما را فهرست می کند.یک فایل
.firebaserc
که نام مستعار پروژه شما را ذخیره می کند.
فایل firebase.json
دستور firebase init
یک فایل پیکربندی firebase.json
در ریشه دایرکتوری پروژه شما ایجاد می کند.
فایل firebase.json
برای استقرار داراییها با Firebase CLI مورد نیاز است زیرا مشخص میکند کدام فایلها و تنظیمات از فهرست پروژه شما در پروژه Firebase شما مستقر میشوند. از آنجایی که برخی از تنظیمات را می توان در فهرست راهنمای پروژه یا کنسول Firebase تعریف کرد، مطمئن شوید که هرگونه تداخل احتمالی استقرار را حل کرده اید.
شما می توانید اکثر گزینه های میزبانی Firebase را مستقیماً در فایل firebase.json
پیکربندی کنید. با این حال، برای سایر سرویسهای Firebase که میتوانند با Firebase CLI مستقر شوند ، دستور firebase init
فایلهای خاصی را ایجاد میکند که در آن میتوانید تنظیماتی را برای آن سرویسها تعریف کنید، مانند فایل index.js
برای توابع ابری. همچنین میتوانید قلابهای predeploy یا postdeploy را در فایل firebase.json
تنظیم کنید.
در صورت انتخاب Firebase Hosting، Cloud Firestore و Cloud Functions برای Firebase (با انتخاب منبع TypeScript و گزینههای 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 است، فایل firebase.json
خود را ویرایش کنید تا قوانین امنیتی Cloud Firestore مختلف و فایل های منبع فهرست پایگاه داده را با هر پایگاه داده مرتبط کنید. فایل را با یک آرایه 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
برای نادیده گرفتن مشخص میکند. این مانع از استقرار فایلهای اضافی در backend میشود که میتوانند اندازه دادههای استقرار شما را افزایش دهند.
لیست فایلهایی که بهطور پیشفرض نادیده گرفته شدهاند، با فرمت JSON نشان داده شده است:
"ignore": [
".git",
".runtimeconfig.json",
"firebase-debug.log",
"firebase-debug.*.log",
"node_modules"
]
اگر مقادیر سفارشی خود را برای ignore
در firebase.json
اضافه میکنید، مطمئن شوید که لیست فایلهای نشانداده شده در بالا را نگه دارید (یا در صورت وجود نداشت، اضافه کنید).
مدیریت نام مستعار پروژه
می توانید چندین پروژه Firebase را با یک فهرست پروژه مرتبط کنید. به عنوان مثال، ممکن است بخواهید از یک پروژه Firebase برای صحنه سازی و دیگری برای تولید استفاده کنید. با استفاده از محیط های مختلف پروژه، می توانید تغییرات را قبل از استقرار در تولید بررسی کنید. دستور firebase use
به شما این امکان را می دهد که بین نام مستعار سوئیچ کنید و همچنین نام مستعار جدیدی ایجاد کنید.
نام مستعار پروژه را اضافه کنید
هنگامی که یک پروژه Firebase را در حین تنظیم اولیه پروژه انتخاب می کنید، به پروژه به طور خودکار نام مستعار default
اختصاص داده می شود. با این حال، برای اینکه اجازه دهید دستورات خاص پروژه در برابر یک پروژه Firebase متفاوت اجرا شوند اما همچنان از همان فهرست پروژه استفاده کنند، دستور زیر را از داخل فهرست پروژه خود اجرا کنید:
firebase use --add
این دستور از شما می خواهد که پروژه Firebase دیگری را انتخاب کرده و پروژه را به عنوان نام مستعار اختصاص دهید. تخصیص مستعار در یک فایل .firebaserc
در دایرکتوری پروژه شما نوشته می شود.
از نام مستعار پروژه استفاده کنید
برای استفاده از نام مستعار پروژه Firebase، یکی از دستورات زیر را از داخل فهرست پروژه خود اجرا کنید.
فرمان | شرح |
---|---|
firebase use | فهرستی از نام مستعار تعریف شده فعلی برای فهرست پروژه خود را مشاهده کنید |
firebase use \ | همه دستورات را برای اجرا در برابر پروژه مشخص شده Firebase هدایت می کند. CLI از این پروژه به عنوان "پروژه فعال" فعلی استفاده می کند. |
firebase use --clear | پروژه فعال را پاک می کند. اجرای |
firebase use \ | نام مستعار را از فهرست پروژه شما حذف می کند. |
میتوانید با ارسال پرچم --project
با هر دستور CLI، آنچه را که بهعنوان پروژه فعال فعلی استفاده میشود لغو کنید. به عنوان مثال: میتوانید CLI خود را طوری تنظیم کنید که در برابر پروژه Firebase که نام مستعار staging
را به آن اختصاص دادهاید، اجرا شود. اگر میخواهید یک فرمان را علیه پروژه Firebase اجرا کنید که نام مستعار prod
را به آن اختصاص دادهاید، میتوانید برای مثال
اجرا کنید.
کنترل منبع و نام مستعار پروژه
به طور کلی، شما باید فایل .firebaserc
خود را در کنترل منبع بررسی کنید تا به تیم خود اجازه دهید نام مستعار پروژه را به اشتراک بگذارد. با این حال، برای پروژههای منبع باز یا قالبهای شروع، معمولاً نباید فایل .firebaserc
خود را بررسی کنید.
اگر پروژه توسعهای دارید که فقط برای استفاده شما است، میتوانید پرچم --project
را با هر دستور ارسال کنید یا firebase use PROJECT_ID
بدون اختصاص نام مستعار به پروژه Firebase اجرا کنید.
پروژه Firebase خود را به صورت محلی سرویس و آزمایش کنید
میتوانید پروژه Firebase خود را قبل از استقرار در تولید، روی URLهای میزبانی محلی مشاهده و آزمایش کنید. اگر فقط میخواهید ویژگیهای انتخابی را آزمایش کنید، میتوانید از یک لیست جدا شده با کاما در پرچمی در فرمان firebase serve
استفاده کنید.
اگر می خواهید یکی از وظایف زیر را انجام دهید، دستور زیر را از ریشه دایرکتوری پروژه محلی خود اجرا کنید:
- محتوای ثابت برنامه میزبانی شده توسط Firebase خود را مشاهده کنید.
- از توابع Cloud برای تولید محتوای پویا برای میزبانی Firebase استفاده کنید و میخواهید از توابع HTTP تولیدی (استقرار شده) خود برای شبیهسازی میزبانی در یک URL محلی استفاده کنید.
firebase serve --only hosting
پروژه خود را با استفاده از توابع محلی HTTP شبیه سازی کنید
هر یک از دستورات زیر را از دایرکتوری پروژه خود اجرا کنید تا پروژه خود را با استفاده از توابع HTTP محلی شبیه سازی کنید.
برای شبیه سازی توابع HTTP و میزبانی برای آزمایش روی URL های محلی، از یکی از دستورات زیر استفاده کنید:
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 شما
- توابع Cloud جدید، به روز شده یا موجود برای Firebase
- قوانین برای پایگاه داده بیدرنگ Firebase
- قوانین ذخیره سازی ابری برای Firebase
- قوانین برای Cloud Firestore
- ایندکس برای Cloud Firestore
برای استقرار در یک پروژه Firebase، دستور زیر را از فهرست پروژه خود اجرا کنید:
firebase deploy
شما می توانید به صورت اختیاری یک نظر به هر یک از استقرارهای خود اضافه کنید. این نظر همراه با سایر اطلاعات استقرار در صفحه میزبانی Firebase پروژه شما نمایش داده می شود. مثلا:
firebase deploy -m "Deploying the best new feature ever."
هنگام استفاده از دستور firebase deploy
، به موارد زیر توجه داشته باشید:
برای استقرار منابع از دایرکتوری پروژه، دایرکتوری پروژه باید یک فایل
firebase.json
داشته باشد. این فایل به طور خودکار با دستورfirebase init
برای شما ایجاد می شود.به طور پیش فرض،
firebase deploy
یک نسخه برای همه منابع قابل استقرار در فهرست پروژه شما ایجاد می کند. برای استقرار سرویسها یا ویژگیهای خاص Firebase، از استقرار جزئی استفاده کنید .
تضاد استقرار برای قوانین امنیتی
برای پایگاه داده Realtime Firebase، Cloud Storage برای Firebase، و Cloud Firestore، می توانید قوانین امنیتی را در فهرست راهنمای پروژه محلی خود یا در کنسول Firebase تعریف کنید.
گزینه دیگری برای جلوگیری از تداخل در استقرار، استفاده از استقرار جزئی و فقط تعریف قوانین در کنسول Firebase است.
سهمیه های اعزام
ممکن است (اگرچه بعید است) از سهمیه ای که میزان یا حجم عملیات استقرار Firebase شما را محدود می کند، فراتر رفته باشد. به عنوان مثال، هنگام استقرار تعداد بسیار زیادی از توابع، ممکن است یک پیام خطای HTTP 429 Quota
دریافت کنید. برای حل چنین مسائلی، از استقرار جزئی استفاده کنید .
یک استقرار را به عقب برگردانید
میتوانید با انتخاب اکشن Rollback برای نسخه مورد نظر، یک استقرار میزبانی Firebase را از صفحه میزبانی Firebase پروژه خود بازگردانید.
در حال حاضر امکان بازگرداندن نسخههای منتشرشده از قوانین امنیتی برای پایگاه داده بیدرنگ Firebase، فضای ذخیرهسازی ابری برای Firebase یا Cloud Firestore وجود ندارد.
سرویس های Firebase خاصی را مستقر کنید
اگر فقط میخواهید سرویسها یا ویژگیهای Firebase خاصی را اجرا کنید، میتوانید از یک لیست جدا شده با کاما در پرچمی در فرمان firebase deploy
استفاده کنید. برای مثال، دستور زیر محتوای Firebase Hosting و قوانین امنیتی Cloud Storage را مستقر می کند.
firebase deploy --only hosting,storage
جدول زیر خدمات و ویژگی های موجود برای استقرار جزئی را فهرست می کند. نام های موجود در پرچم ها با کلیدهای فایل پیکربندی firebase.json
شما مطابقت دارد.
نحو پرچم | سرویس یا ویژگی مستقر شده است |
---|---|
--only hosting | محتوای میزبانی Firebase |
--only database | قوانین پایگاه داده بیدرنگ Firebase |
--only storage | Cloud Storage برای قوانین Firebase |
--only firestore | قوانین و فهرست های Cloud Firestore برای همه پایگاه های داده پیکربندی شده |
--only functions | توابع ابری برای Firebase ( نسخههای خاصتری از این پرچم ممکن است) |
استقرار توابع خاص
هنگام استقرار توابع، می توانید توابع خاصی را هدف قرار دهید. مثلا:
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
گزینه دیگر گروه بندی توابع به گروه های صادراتی در فایل /functions/index.js
است. توابع گروهبندی به شما اجازه میدهد تا با استفاده از یک فرمان، چندین عملکرد را مستقر کنید.
به عنوان مثال، می توانید توابع زیر را برای تعریف یک groupA
و یک groupB
بنویسید:
var functions = require('firebase-functions');
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');
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 CLI از دستورات و گزینه های زیر برای حذف توابع مستقر شده قبلی پشتیبانی می کند:
تمام توابعی را که با نام مشخص شده در همه مناطق مطابقت دارند حذف می کند:
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 میتواند کد TypeScript را به جاوا اسکریپت منتقل کند و یک hook postdeploy میتواند مدیران را از استقرار محتوای جدید سایت در میزبانی Firebase مطلع کند.
برای تنظیم قلابهای predeploy یا postdeploy، اسکریپتهای bash را به فایل پیکربندی firebase.json
خود اضافه کنید. میتوانید اسکریپتهای مختصر را مستقیماً در فایل firebase.json
تعریف کنید، یا میتوانید به فایلهای دیگری که در فهرست پروژهتان هستند ارجاع دهید.
به عنوان مثال، اسکریپت زیر عبارت firebase.json
برای یک کار postdeploy است که پس از استقرار موفقیت آمیز به میزبانی Firebase، یک پیام 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
تمام وظایف predeploy و postdeploy تعریف شده در فایل firebase.json
شما را فعال می کند. برای اجرای تنها وظایف مرتبط با یک سرویس Firebase خاص، از دستورات استقرار جزئی استفاده کنید .
هر دو قلاب predeploy
و postdeploy
خروجی استاندارد و جریان های خطای اسکریپت ها را در ترمینال چاپ می کنند. برای موارد شکست به موارد زیر توجه کنید:
- اگر یک قلاب پیش از راه اندازی مطابق انتظار کامل نشود، استقرار لغو می شود.
- اگر استقرار به هر دلیلی شکست بخورد، قلابهای پس از استقرار فعال نمیشوند.
متغیرهای محیطی
در اسکریپت هایی که در قلاب های predeploy و postdeploy اجرا می شوند، متغیرهای محیطی زیر در دسترس هستند:
-
$GCLOUD_PROJECT
: شناسه پروژه پروژه فعال -
$PROJECT_DIR
: فهرست اصلی حاوی فایلfirebase.json
-
$RESOURCE_DIR
: (فقط برای اسکریپت هایhosting
وfunctions
) مکان دایرکتوری که حاوی منابع میزبانی یا توابع ابری است که قرار است مستقر شوند.
چندین نمونه پایگاه داده بیدرنگ را مدیریت کنید
یک پروژه Firebase می تواند چندین نمونه پایگاه داده بیدرنگ Firebase داشته باشد. به طور پیش فرض، دستورات 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 را در دایرکتوری فعلی ایجاد می کند. |
وارد شدن | CLI را در حساب Firebase شما احراز هویت می کند. نیاز به دسترسی به مرورگر وب دارد. برای ورود به CLI در محیط های راه دور که اجازه دسترسی به localhost را نمی دهند، از آن استفاده کنید--no-localhost . |
ورود به سیستم:ci | یک نشانه احراز هویت برای استفاده در محیط های غیر تعاملی ایجاد می کند. |
خروج | CLI را از حساب Firebase خود خارج کنید. |
باز کن | مرورگر را به منابع پروژه مربوطه باز می کند. |
پروژه ها: لیست | تمام پروژه های Firebase را که به آنها دسترسی دارید فهرست می کند. |
استفاده کنید | پروژه Firebase فعال را برای CLI تنظیم می کند. نام مستعار پروژه را مدیریت می کند. |
دستورات مدیریت پروژه
فرمان | شرح | |
---|---|---|
مدیریت پروژه های Firebase | ||
پروژه ها:addfirebase | منابع Firebase را به پروژه Google Cloud موجود اضافه می کند. | |
پروژه ها: ایجاد | یک پروژه Google Cloud جدید ایجاد می کند، سپس منابع Firebase را به پروژه جدید اضافه می کند. | |
پروژه ها: لیست | تمام پروژه های Firebase را که به آنها دسترسی دارید فهرست می کند. | |
مدیریت برنامه های Firebase (iOS، Android، Web) | ||
برنامه ها: ایجاد | یک برنامه Firebase جدید در پروژه فعال ایجاد می کند. | |
برنامه ها: لیست | برنامه های Firebase ثبت شده را در پروژه فعال فهرست می کند. | |
برنامه ها: sdkconfig | پیکربندی سرویسهای Google یک برنامه Firebase را چاپ میکند. | |
راه اندازی: وب | منسوخ. در عوض، از apps:sdkconfig استفاده کنید و web به عنوان آرگومان پلتفرم مشخص کنید.پیکربندی خدمات Google یک برنامه وب Firebase را چاپ می کند. | |
مدیریت هش های گواهی SHA (فقط اندروید) | ||
apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH | هش گواهی SHA مشخص شده را به برنامه Firebase Android مشخص شده اضافه می کند. | |
apps:android:sha:delete \ FIREBASE_APP_ID SHA_HASH | هش گواهی SHA مشخص شده را از برنامه Firebase Android مشخص شده حذف می کند. | |
apps:android:sha:list \ FIREBASE_APP_ID | هش های گواهی SHA را برای برنامه Firebase Android مشخص شده فهرست می کند. |
استقرار و توسعه محلی
این دستورات به شما امکان می دهد تا سایت میزبانی Firebase خود را مستقر کرده و با آن تعامل داشته باشید.
فرمان | شرح |
---|---|
استقرار | کد و دارایی ها را از فهرست پروژه شما به پروژه فعال مستقر می کند. برای میزبانی Firebase، یک فایل پیکربندی firebase.json مورد نیاز است. |
خدمت | یک وب سرور محلی را با پیکربندی میزبانی Firebase شما راه اندازی می کند. برای میزبانی Firebase، یک فایل پیکربندی firebase.json مورد نیاز است. |
دستورات توزیع برنامه
فرمان | شرح |
---|---|
appdistribution:distribute \ --برنامه FIREBASE_APP_ID | ساخت را در دسترس آزمایش کنندگان قرار می دهد. |
appdistribution:testers:add | تسترها را به پروژه اضافه می کند. |
appdistribution:testers:remove | آزمایش کنندگان را از پروژه حذف می کند. |
احراز هویت (مدیریت کاربر) دستورات
فرمان | شرح |
---|---|
auth: صادرات | حساب های کاربری پروژه فعال را به یک فایل JSON یا CSV صادر می کند. برای جزئیات بیشتر، به صفحه auth:import و auth:export مراجعه کنید. |
auth: import | حساب های کاربری را از یک فایل JSON یا CSV به پروژه فعال وارد می کند. برای جزئیات بیشتر، به صفحه auth:import و auth:export مراجعه کنید. |
دستورات Cloud Firestore
فرمان | شرح |
---|---|
آتشفروشی: مکانها | مکان های موجود برای پایگاه داده Cloud Firestore خود را فهرست کنید. |
firestore: databases:create DATABASE_ID | در پروژه Firebase خود یک نمونه پایگاه داده در حالت بومی ایجاد کنید. دستور پرچم های زیر را می گیرد:
|
firestore: databases:list | پایگاه داده ها را در پروژه Firebase خود فهرست کنید. |
firestore: databases:get DATABASE_ID | پیکربندی پایگاه داده را برای یک پایگاه داده مشخص در پروژه Firebase خود دریافت کنید. |
firestore:databases:update DATABASE_ID | پیکربندی پایگاه داده یک پایگاه داده مشخص شده را در پروژه Firebase خود به روز کنید. حداقل یک پرچم مورد نیاز است. دستور پرچم های زیر را می گیرد:
|
firestore: پایگاه های داده: حذف DATABASE_ID | یک پایگاه داده را در پروژه Firebase خود حذف کنید. |
firestore:indexes | فهرست نمایه های پایگاه داده در پروژه Firebase خود را فهرست کنید. دستور پرچم زیر را می گیرد:
|
firestore:حذف | اسناد موجود در پایگاه داده پروژه فعال را حذف می کند. با استفاده از CLI، می توانید تمام اسناد یک مجموعه را به صورت بازگشتی حذف کنید. توجه داشته باشید که حذف داده های Cloud Firestore با CLI هزینه های خواندن و حذف را به همراه دارد. برای اطلاعات بیشتر، به درک صورتحساب Cloud Firestore مراجعه کنید. دستور پرچم زیر را می گیرد:
|
توابع ابری برای دستورات Firebase
فرمان | شرح |
---|---|
توابع: پیکربندی: کلون | محیط پروژه دیگری را در پروژه Firebase فعال کلون می کند. |
توابع: پیکربندی: دریافت | مقادیر پیکربندی موجود توابع ابری پروژه فعال را بازیابی می کند. |
توابع: پیکربندی: تنظیم | مقادیر پیکربندی زمان اجرا عملکردهای ابری پروژه فعال را ذخیره می کند. |
functions:config:unset | مقادیر را از پیکربندی زمان اجرا پروژه فعال حذف می کند. |
توابع: ورود | گزارشها را از توابع Cloud مستقر میخواند. |
برای اطلاعات بیشتر، به مستندات پیکربندی محیط مراجعه کنید.
دستورات Crashlytics
فرمان | شرح |
---|---|
crashlytics:mappingfile:generateid \ --resource-file= PATH/TO/ANDROID_RESOURCE.XML | شناسه فایل نگاشت منحصر به فرد را در فایل منبع Android (XML) مشخص شده ایجاد می کند. |
crashlytics:mappingfile:upload \ --برنامه= FIREBASE_APP_ID \ --resource-file= PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT | یک فایل نگاشت (TXT) سازگار با Proguard را برای این برنامه آپلود می کند و آن را با شناسه فایل نگاشت اعلام شده در فایل منبع Android (XML) مشخص شده مرتبط می کند. |
crashlytics:symbols:upload \ --برنامه= FIREBASE_APP_ID \ PATH/TO/SYMBOLS | یک فایل نماد سازگار با Crashlytics برای خرابی های کتابخانه بومی در Android ایجاد می کند و آن را در سرورهای Firebase آپلود می کند. |
دستورات افزونه ها
فرمان | شرح |
---|---|
داخلی | اطلاعاتی در مورد نحوه استفاده از دستورات Firebase Extensions نمایش می دهد. نمونه های برنامه افزودنی نصب شده در پروژه فعال را فهرست می کند. |
ext:configure \ EXTENSION_INSTANCE_ID | مقادیر پارامتر یک نمونه برنامه افزودنی را در مانیفست برنامه افزودنی شما دوباره پیکربندی می کند. |
ext:info \ PUBLISHER_ID/EXTENSION_ID | اطلاعات دقیق در مورد یک برنامه افزودنی را چاپ می کند. |
ext:install \ PUBLISHER_ID/EXTENSION_ID | نمونه جدیدی از یک برنامه افزودنی را به مانیفست افزونه شما اضافه می کند. |
ext:list | تمام نمونه های برنامه افزودنی نصب شده در یک پروژه Firebase را فهرست می کند. شناسه نمونه را برای هر برنامه افزودنی چاپ می کند. |
ext:uninstall \ EXTENSION_INSTANCE_ID | یک نمونه برنامه افزودنی را از مانیفست برنامه افزودنی شما حذف می کند. |
ext:update \ EXTENSION_INSTANCE_ID | یک نمونه برنامه افزودنی را به آخرین نسخه در مانیفست برنامه افزودنی به روز می کند. |
خارج: صادرات | همه نمونه های برنامه افزودنی نصب شده را از پروژه شما به مانیفست برنامه افزودنی شما صادر می کند. |
دستورات ناشر برنامه های افزودنی
فرمان | شرح |
---|---|
ext:dev:init | یک پایگاه کد اسکلت را برای یک پسوند جدید در فهرست فعلی راه اندازی می کند. |
ext:dev:list \ PUBLISHER_ID | فهرستی از تمام برنامه های افزودنی آپلود شده توسط ناشر را چاپ می کند. |
ext:dev:register | یک پروژه Firebase را به عنوان یک پروژه ناشر برنامه های افزودنی ثبت می کند. |
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 | تعداد نصب و معیارهای استفاده را برای برنامه های افزودنی بارگذاری شده توسط ناشر نمایش می دهد. |
دستورات میزبانی
فرمان | شرح |
---|---|
میزبانی: غیر فعال کردن | سرویسدهی به ترافیک میزبانی Firebase را برای پروژه فعال Firebase متوقف میکند. URL میزبانی پروژه شما پس از اجرای این دستور، پیام "سایت یافت نشد" را نمایش می دهد. |
مدیریت سایت های میزبانی | |
firebase hosting:sites:create \ SITE_ID | با استفاده از (اختیاری) یک برنامه وب Firebase موجود را برای ارتباط با سایت جدید با عبور پرچم زیر مشخص کنید: |
firebase hosting:sites:delete \ SITE_ID | سایت هاست مشخص شده را حذف می کند CLI قبل از حذف سایت یک درخواست تایید را نمایش می دهد. (اختیاری) با عبور از پرچمهای زیر از درخواست تأیید رد شوید: |
firebase hosting:sites:get \ SITE_ID | اطلاعات مربوط به سایت میزبانی مشخص شده را بازیابی می کند |
firebase hosting:sites:list | تمام سایتهای میزبانی پروژه فعال Firebase را فهرست میکند |
مدیریت کانال های پیش نمایش | |
firebase hosting:channel:create \ CHANNEL_ID | یک کانال پیش نمایش جدید در سایت میزبانی پیش فرض با استفاده از این دستور در کانال اجرا نمی شود. |
firebase hosting:channel:delete \ CHANNEL_ID | کانال پیش نمایش مشخص شده را حذف می کند شما نمی توانید کانال زنده یک سایت را حذف کنید. |
firebase hosting:channel:deploy \ CHANNEL_ID | محتوای میزبانی و پیکربندی شما را در کانال پیش نمایش مشخص شده مستقر می کند اگر کانال پیشنمایش هنوز وجود نداشته باشد، این دستور قبل از استقرار در کانال، کانال را در سایت میزبانی پیشفرض ایجاد میکند. |
firebase hosting:channel:list | همه کانال ها (از جمله کانال "زنده") را در سایت میزبانی پیش فرض لیست می کند |
firebase hosting:channel:open \ CHANNEL_ID | مرورگر را به URL کانال مشخص شده باز می کند یا اگر باز کردن در مرورگر امکان پذیر نباشد URL را برمی گرداند. |
شبیه سازی نسخه | |
میزبانی firebase:clone \ SOURCE_SITE_ID : SOURCE_CHANNEL_ID \ TARGET_SITE_ID : TARGET_CHANNEL_ID | کلون ها نسخه اخیراً مستقر در کانال "منبع" مشخص شده به کانال "هدف" مشخص شده این دستور همچنین به کانال "هدف" مشخص شده اعزام می شود. اگر هنوز کانال "هدف" وجود نداشته باشد ، این دستور قبل از اعزام به کانال ، کانال پیش نمایش جدیدی را در سایت میزبانی "هدف" ایجاد می کند. |
میزبان Firebase: کلون \ SOURCE_SITE_ID :@ VERSION_ID \ TARGET_SITE_ID : TARGET_CHANNEL_ID | نسخه مشخص شده به کانال "هدف" مشخص شده این دستور همچنین به کانال "هدف" مشخص شده اعزام می شود. اگر هنوز کانال "هدف" وجود نداشته باشد ، این دستور قبل از اعزام به کانال ، کانال پیش نمایش جدیدی را در سایت میزبانی "هدف" ایجاد می کند. می توانید |
دستورات پایگاه داده زمان واقعی
توجه داشته باشید که می توانید نمونه اولیه و پیش فرض پایگاه داده RealTime خود را در کنسول Firebase یا با استفاده از گردش کار عمومی firebase init
یا جریان firebase init database
ایجاد کنید.
پس از ایجاد نمونه ها ، می توانید آنها را همانطور که در مدیریت چندین نمونه پایگاه داده در زمان واقعی بحث شده است ، مدیریت کنید.
فرمان | شرح |
---|---|
پایگاه داده: دریافت کنید | داده ها را از پایگاه داده پروژه فعال دریافت می کند و آن را به عنوان JSON نمایش می دهد. از پرس و جو در مورد داده های فهرست بندی شده پشتیبانی می کند. |
پایگاه داده: موارد: ایجاد | یک نمونه بانک اطلاعاتی با یک نام نمونه مشخص ایجاد می کند. گزینه --location برای ایجاد یک پایگاه داده در یک منطقه مشخص را می پذیرد. برای استفاده از نام های منطقه با این گزینه ، به مکان های انتخابی برای پروژه خود مراجعه کنید. اگر هیچ نمونه بانک اطلاعاتی برای پروژه فعلی وجود ندارد ، از شما خواسته می شود جریان firebase init برای ایجاد یک نمونه اجرا کنید. |
پایگاه داده: موارد: لیست | تمام نمونه های پایگاه داده را برای این پروژه لیست کنید. گزینه --location را برای لیست پایگاه داده ها در یک منطقه مشخص می پذیرد. برای استفاده نام منطقه با این گزینه ، به مکان های انتخابی برای پروژه خود مراجعه کنید. |
پایگاه داده: نمایه | نمایه ای از عملیات را در پایگاه داده پروژه فعال ایجاد می کند. برای اطلاعات بیشتر ، به انواع عملکرد پایگاه داده RealTime مراجعه کنید. |
پایگاه داده: فشار دهید | داده های جدید را به لیستی در یک مکان مشخص در پایگاه داده پروژه فعال سوق می دهد. از یک پرونده ، stdin یا یک آرگومان خط فرمان ورودی می گیرد. |
پایگاه داده: حذف | تمام داده ها را در یک مکان مشخص در پایگاه داده پروژه فعال حذف می کند. |
پایگاه داده: تنظیم | تمام داده ها را در یک مکان مشخص در پایگاه داده پروژه فعال جایگزین می کند. از یک پرونده ، stdin یا یک آرگومان خط فرمان ورودی می گیرد. |
پایگاه داده: به روز رسانی | یک به روزرسانی جزئی را در یک مکان مشخص در پایگاه داده پروژه فعال انجام می دهد. از یک پرونده ، stdin یا یک آرگومان خط فرمان ورودی می گیرد. |
دستورات پیکربندی از راه دور
فرمان | شرح |
---|---|
RemoteConfig: نسخه ها: لیست \ NUMBER_OF_VERSIONS | لیست جدیدترین ده نسخه از الگوی را لیست می کند. 0 برای بازگشت تمام نسخه های موجود مشخص کنید ، یا به صورت اختیاری گزینه --limit را برای محدود کردن تعداد نسخه های برگشت داده شده عبور دهید. |
remoteconfig: دریافت \ -v ، نسخه_number VERSION_NUMBER --o ، FILENAME خروجی | الگوی را بر اساس نسخه (پیش فرض به آخرین نسخه) دریافت می کند و گروه های پارامتر ، پارامترها و نام ها و نسخه ها را در یک جدول قرار می دهد. به صورت اختیاری ، می توانید خروجی را به یک فایل مشخص با -o, FILENAME بنویسید. |
RemoteConfig: Rollback \ -v ، نسخه_number VERSION_NUMBER --زور | الگوی پیکربندی از راه دور را به شماره نسخه قبلی مشخص شده یا پیش فرض نسخه قبلی فوری (نسخه فعلی -1) برگردانید. مگر در مواردی که --force به تصویب برسد ، قبل از ادامه کار ، Y/N را از بین می برد. |