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
را اجرا کنید
macOS
- اسکریپت نصب خودکار : اجرای
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 خود انتخاب کنید.
این مرحله از شما میخواهد تنظیماتی را برای فایلهای خاص برای محصولات انتخاب شده تنظیم کنید. برای جزئیات بیشتر در مورد این تنظیمات، به مستندات محصول خاص (به عنوان مثال، Hosting ) مراجعه کنید. توجه داشته باشید که همیشه میتوانید
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 Hosting را مستقیماً در فایل firebase.json
پیکربندی کنید. با این حال، برای سایر سرویسهای Firebase که میتوانند با Firebase CLI مستقر شوند ، دستور firebase init
فایلهای خاصی را ایجاد میکند که در آن میتوانید تنظیماتی را برای آن سرویسها تعریف کنید، مانند فایل index.js
برای Cloud Functions . همچنین میتوانید قلابهای predeploy یا postdeploy را در فایل firebase.json
تنظیم کنید.
در صورت انتخاب Firebase Hosting ، Cloud Firestore و Cloud Functions for 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 Security Rules مختلف و فایل های منبع فهرست پایگاه داده را با هر پایگاه داده مرتبط کنید. فایل را با یک آرایه 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 Functions برای تولید محتوای پویا برای Firebase Hosting استفاده کنید و میخواهید از توابع HTTP تولیدی (استقرار شده) خود برای شبیهسازی Hosting در یک 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 Hosting شما
- Cloud Functions for Firebase
- طرحواره ها و رابط های جدید یا به روز شده برای Firebase Data Connect
- قوانین برای Firebase Realtime Database
- قوانین Cloud Storage for Firebase
- قوانین برای Cloud Firestore
- ایندکس برای Cloud Firestore
برای استقرار در یک پروژه Firebase، دستور زیر را از فهرست پروژه خود اجرا کنید:
firebase deploy
شما می توانید به صورت اختیاری یک نظر به هر یک از استقرارهای خود اضافه کنید. این نظر همراه با سایر اطلاعات استقرار در صفحه Firebase Hosting پروژه شما نمایش داده می شود. به عنوان مثال:
firebase deploy -m "Deploying the best new feature ever."
هنگام استفاده از دستور firebase deploy
، به موارد زیر توجه داشته باشید:
برای استقرار منابع از دایرکتوری پروژه، دایرکتوری پروژه باید یک فایل
firebase.json
داشته باشد. این فایل به طور خودکار با دستورfirebase init
برای شما ایجاد می شود.به طور پیش فرض،
firebase deploy
یک نسخه برای همه منابع قابل استقرار در فهرست پروژه شما ایجاد می کند. برای استقرار سرویسها یا ویژگیهای خاص Firebase، از استقرار جزئی استفاده کنید .
تضاد استقرار برای قوانین امنیتی
برای Firebase Realtime Database , Cloud Storage for Firebase و Cloud Firestore , می توانید قوانین امنیتی را در فهرست راهنمای پروژه محلی خود یا در کنسول Firebase تعریف کنید.
گزینه دیگری برای جلوگیری از تداخل در استقرار، استفاده از استقرار جزئی و فقط تعریف قوانین در کنسول Firebase است.
سهمیه های اعزام
ممکن است (اگرچه بعید است) از سهمیه ای که میزان یا حجم عملیات استقرار Firebase شما را محدود می کند، فراتر رفته باشد. به عنوان مثال، هنگام استقرار تعداد بسیار زیادی از توابع، ممکن است یک پیام خطای HTTP 429 Quota
دریافت کنید. برای حل چنین مسائلی، از استقرار جزئی استفاده کنید.
یک استقرار را به عقب برگردانید
میتوانید با انتخاب اکشن Rollback برای نسخه مورد نظر، یک استقرار Firebase Hosting را از صفحه Firebase Hosting پروژه خود بازگردانید.
در حال حاضر امکان بازگرداندن نسخههای منتشرشده از قوانین امنیتی برای Firebase Realtime Database ، Cloud Storage for Firebase ، یا Cloud Firestore وجود ندارد.
سرویس های خاص Firebase را مستقر کنید
اگر فقط میخواهید سرویسها یا ویژگیهای Firebase خاصی را اجرا کنید، میتوانید از یک لیست جدا شده با کاما در پرچمی در فرمان firebase deploy
استفاده کنید. برای مثال، دستور زیر محتوای Firebase Hosting و قوانین امنیتی Cloud Storage را مستقر می کند.
firebase deploy --only hosting,storage
جدول زیر خدمات و ویژگی های موجود برای استقرار جزئی را فهرست می کند. نام های موجود در پرچم ها با کلیدهای فایل پیکربندی firebase.json
شما مطابقت دارد.
نحو پرچم | سرویس یا ویژگی مستقر شده است |
---|---|
--only hosting | محتوای Firebase Hosting |
--only database | قوانین Firebase Realtime Database |
--only dataconnect | طرحواره ها و اتصال دهنده های Firebase Data Connect |
--only storage | Cloud Storage for Firebase |
--only firestore | قوانین و فهرست های Cloud Firestore برای همه پایگاه های داده پیکربندی شده |
--only functions | Cloud Functions for Firebase ( نسخههای خاصتری از این پرچم ممکن است) |
استقرار توابع خاص
هنگام استقرار توابع، می توانید توابع خاصی را هدف قرار دهید. به عنوان مثال:
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
گزینه دیگر گروه بندی توابع به گروه های صادراتی در فایل /functions/index.js
است. توابع گروهبندی به شما اجازه میدهد تا با استفاده از یک فرمان، چندین عملکرد را مستقر کنید.
به عنوان مثال، می توانید توابع زیر را برای تعریف یک groupA
و یک groupB
بنویسید:
var functions = require('firebase-functions/v1');
exports.groupA = {
function1: functions.https.onRequest(...),
function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');
در این مثال، یک فایل جداگانه functions/groupB.js
حاوی توابع اضافی است که به طور خاص توابع را در groupB
تعریف می کند. به عنوان مثال:
var functions = require('firebase-functions/v1');
exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);
در این مثال، می توانید با اجرای دستور زیر از فهرست پروژه خود، تمام توابع groupA
مستقر کنید:
firebase deploy --only functions:groupA
یا می توانید با اجرای دستور زیر یک تابع خاص را در یک گروه هدف قرار دهید:
firebase deploy --only functions:groupA.function1,groupB.function4
حذف توابع
Firebase 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 Hosting مطلع کند.
برای تنظیم قلابهای predeploy یا postdeploy، اسکریپتهای bash را به فایل پیکربندی firebase.json
خود اضافه کنید. میتوانید اسکریپتهای مختصر را مستقیماً در فایل firebase.json
تعریف کنید، یا میتوانید به فایلهای دیگری که در فهرست پروژهتان هستند ارجاع دهید.
به عنوان مثال، اسکریپت زیر عبارت firebase.json
برای یک کار postdeploy است که پس از استقرار موفقیت آمیز به 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
تمام وظایف predeploy و postdeploy تعریف شده در فایل firebase.json
شما را فعال می کند. برای اجرای تنها وظایف مرتبط با یک سرویس Firebase خاص، از دستورات استقرار جزئی استفاده کنید .
هر دو قلاب predeploy
و postdeploy
خروجی استاندارد و جریان های خطای اسکریپت ها را در ترمینال چاپ می کنند. برای موارد شکست به موارد زیر توجه کنید:
- اگر یک قلاب پیش از راه اندازی مطابق انتظار کامل نشود، استقرار لغو می شود.
- اگر استقرار به هر دلیلی شکست بخورد، قلابهای پس از استقرار فعال نمیشوند.
متغیرهای محیطی
در اسکریپت هایی که در قلاب های predeploy و postdeploy اجرا می شوند، متغیرهای محیطی زیر در دسترس هستند:
-
$GCLOUD_PROJECT
: شناسه پروژه پروژه فعال -
$PROJECT_DIR
: فهرست اصلی حاوی فایلfirebase.json
-
$RESOURCE_DIR
: (فقط برای اسکریپت هایhosting
وfunctions
) مکان دایرکتوری که حاوی منابع Hosting یا Cloud Functions است که قرار است مستقر شوند.
چندین نمونه Realtime Database مدیریت کنید
یک پروژه Firebase می تواند چندین نمونه Firebase Realtime Database داشته باشد. به طور پیش فرض، دستورات CLI با نمونه پایگاه داده پیش فرض شما تعامل دارند.
با این حال، می توانید با استفاده از یک نمونه پایگاه داده غیر پیش فرض تعامل داشته باشید--instance DATABASE_NAME
. دستورات زیر از پرچم --instance
پشتیبانی می کنند:
-
firebase database:get
-
firebase database:profile
-
firebase database:push
-
firebase database:remove
-
firebase database:set
-
firebase database:update
مرجع فرمان
دستورات اداری CLI
فرمان | توضیحات |
---|---|
کمک کند | اطلاعات راهنمای مربوط به CLI یا دستورات خاص را نمایش می دهد. |
init | یک پروژه Firebase جدید را در دایرکتوری فعلی مرتبط می کند و راه اندازی می کند. این دستور یک فایل پیکربندی firebase.json را در دایرکتوری فعلی ایجاد می کند. |
ورود به سیستم | 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 Hosting خود را مستقر کرده و با آن تعامل داشته باشید.
فرمان | توضیحات |
---|---|
استقرار | کد و دارایی ها را از فهرست پروژه شما به پروژه فعال مستقر می کند. برای Firebase Hosting ، یک فایل پیکربندی firebase.json مورد نیاز است. |
خدمت کنید | یک وب سرور محلی را با پیکربندی Firebase Hosting شما راه اندازی می کند. برای Firebase Hosting ، یک فایل پیکربندی firebase.json مورد نیاز است. |
دستورات App Distribution
فرمان | توضیحات |
---|---|
appdistribution:distribute \ --برنامه FIREBASE_APP_ID | ساخت را در دسترس آزمایش کنندگان قرار می دهد. |
appdistribution:testers:add | تسترها را به پروژه اضافه می کند. |
appdistribution:testers:remove | آزمایش کنندگان را از پروژه حذف می کند. |
دستورات App Hosting
فرمان | توضیحات |
---|---|
apphosting:backends:create \ --پروژه PROJECT_ID \ --location REGION --app APP_ID | مجموعه ای از منابع مدیریت شده را ایجاد می کند که به یک پایگاه کد منفرد پیوند خورده است که شامل یک باطن App Hosting است. به صورت اختیاری یک برنامه وب Firebase موجود را با شناسه برنامه Firebase آن مشخص کنید. |
apphosting:backends:get \ BACKEND_ID \ --پروژه PROJECT_ID \ --location REGION | جزئیات خاصی از جمله URL عمومی یک باطن را بازیابی می کند. |
apphosting:backends:list \ --project PROJECT_ID | لیستی از تمام backendهای فعال مرتبط با یک پروژه را بازیابی می کند. |
firebase apphosting:backends:delete \ BACKEND_ID \ --پروژه PROJECT_ID \ --location REGION | یک باطن را از پروژه حذف می کند. |
firebase apphosting:config:export \ --پروژه PROJECT_ID \ -- رازهای ENVIRONMENT_NAME | اسرار را برای استفاده در شبیه سازی برنامه صادر می کند. به صورت پیشفرض به اسرار ذخیره شده در apphosting.yaml میپردازد، یا از --secrets برای تعیین هر محیطی که دارای apphosting. ENVIRONMENT_NAME .yaml فایل apphosting. ENVIRONMENT_NAME .yaml . |
firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID | یک راهاندازی دستی ایجاد میکند. به صورت اختیاری آخرین commit را برای یک شاخه یا یک commit خاص مشخص کنید. اگر هیچ گزینه ای ارائه نشده باشد، انتخاب را از لیستی از شاخه ها درخواست می کند. |
apphosting:secrets:set KEY --project PROJECT_ID \ --مکان REGION \ --data-file DATA_FILE_PATH | مطالب محرمانه را در Secret Manager ذخیره می کند. به صورت اختیاری یک مسیر فایل برای خواندن داده های مخفی ارائه کنید. برای خواندن داده های مخفی از ورودی استاندارد روی _ تنظیم کنید. |
apphosting:secrets:grantaccess KEY BACKEND_ID \ --پروژه PROJECT_ID \ --location REGION | به حساب سرویس باطن دسترسی به رمز ارائه شده را می دهد تا در زمان ساخت یا اجرا توسط App Hosting قابل دسترسی باشد. |
apphosting:secrets:describe KEY \ --project PROJECT_ID | فراداده یک راز و نسخه های آن را دریافت می کند. |
firebase apphosting:secrets:access \ KEY[@version] \ --project PROJECT_ID | به یک مقدار مخفی با توجه به Secret و نسخه آن دسترسی پیدا می کند. پیش فرض دسترسی به آخرین نسخه. |
Authentication (مدیریت کاربر) دستورات
فرمان | توضیحات |
---|---|
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 مراجعه کنید. دستور پرچم زیر را می گیرد:
|
Cloud Functions for Firebase
فرمان | توضیحات |
---|---|
توابع: پیکربندی: کلون | محیط پروژه دیگری را در پروژه Firebase فعال کلون می کند. |
توابع: پیکربندی: دریافت | مقادیر پیکربندی موجود Cloud Functions پروژه فعال را بازیابی می کند. |
توابع: پیکربندی: تنظیم | مقادیر پیکربندی زمان اجرا Cloud Functions پروژه فعال را ذخیره می کند. |
functions:config:unset | مقادیر را از پیکربندی زمان اجرا پروژه فعال حذف می کند. |
توابع: ورود | گزارشها را از Cloud Functions مستقر میخواند. |
برای اطلاعات بیشتر، به مستندات پیکربندی محیط مراجعه کنید.
دستورات 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 آپلود می کند. |
دستورات Data Connect
این دستورات و موارد استفاده از آنها با جزئیات بیشتری در راهنمای مرجع Data Connect CLI پوشش داده شده است.
فرمان | توضیحات |
---|---|
dataconnect:services:list | همه سرویس های Data Connect مستقر در پروژه Firebase شما را فهرست می کند. |
dataconnect:sql:diff \ SERVICE_ID | برای سرویس مشخص شده، تفاوتهای بین یک طرحواره محلی Data Connect و طرح پایگاه داده Cloud SQL شما را نمایش میدهد. |
dataconnect:sql:migrate \ -- زور \ SERVICE_ID | طرحواره پایگاه داده Cloud SQL شما را برای مطابقت با طرحواره Data Connect محلی شما منتقل می کند. |
dataconnect:sql:grant\ --role= ROLE \ --email= EMAIL \ SERVICE_ID | نقش SQL را به ایمیل حساب کاربری یا سرویس مشخص شده اعطا می کند. برای پرچم --role ، نقش SQL برای اعطا یکی از موارد زیر است: owner ، writer یا reader .برای پرچم --email ، آدرس ایمیل کاربر یا حساب سرویس را برای اعطای نقش به آن ارائه دهید. |
dataconnect:sdk:generate | SDK های تایپ شده را برای اتصال دهنده های Data Connect شما ایجاد می کند. |
دستورات Extensions
فرمان | توضیحات |
---|---|
داخلی | اطلاعاتی در مورد نحوه استفاده از دستورات 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 | یک نمونه برنامه افزودنی را به آخرین نسخه در مانیفست برنامه افزودنی به روز می کند. |
خارج: صادرات | همه نمونه های برنامه افزودنی نصب شده را از پروژه شما به مانیفست برنامه افزودنی شما صادر می کند. |
دستورات ناشر Extensions
فرمان | توضیحات |
---|---|
ext:dev:init | یک پایگاه کد اسکلت را برای یک پسوند جدید در فهرست فعلی راه اندازی می کند. |
ext:dev:list \ PUBLISHER_ID | فهرستی از تمام برنامه های افزودنی آپلود شده توسط ناشر را چاپ می کند. |
ext:dev:register | یک پروژه Firebase را به عنوان یک پروژه ناشر پسوند ثبت می کند. |
ext: dev: deadrecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE | نسخه های پسوند را که با محمول نسخه مطابقت دارند ، کاهش می دهد . یک محمول نسخه می تواند یک نسخه واحد (مانند 1.0.0 ) یا طیف وسیعی از نسخه ها (مانند >1.0.0 ) باشد.اگر هیچ محموری نسخه ای ارائه نشده است ، تمام نسخه های آن پسوند را کاهش می دهد. |
ext: dev: undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE | نسخه های پسوند را که با محمول نسخه مطابقت دارند ، UndePrecates می کند . یک محمول نسخه می تواند یک نسخه واحد (مانند 1.0.0 ) یا طیف وسیعی از نسخه ها (مانند >1.0.0 ) باشد.اگر هیچ محموری نسخه ای ارائه نشده است ، تمام نسخه های آن پسوند را نادیده می گیرد. |
ext: dev: بارگذاری \ PUBLISHER_ID/EXTENSION_ID | نسخه جدیدی از پسوند را بارگذاری می کند. |
ext: dev: استفاده \ PUBLISHER_ID | نمایش تعداد شمارش و معیارهای استفاده برای پسوندهای بارگذاری شده توسط یک ناشر. |
دستورات Hosting
فرمان | توضیحات |
---|---|
میزبانی: غیرفعال کردن | متوقف کردن سرویس ترافیک Firebase Hosting برای پروژه فعال Firebase. URL Hosting پروژه شما پس از اجرای این دستور ، پیام "سایت یافت نشده" را نشان می دهد. |
مدیریت سایت های Hosting | |
میزبان Firebase: سایت ها: ایجاد \ SITE_ID | یک سایت Hosting جدید در پروژه فعال Firebase با استفاده از سایت مشخص شده (اختیاری) یک برنامه وب Firebase موجود را برای ارتباط با سایت جدید با عبور از پرچم زیر مشخص کنید: |
میزبان Firebase: سایت ها: حذف \ SITE_ID | سایت Hosting مشخص شده را حذف می کند CLI قبل از حذف سایت ، سریع تأیید را نشان می دهد. (اختیاری) با عبور از پرچم های زیر ، سریع تأیید را پرش کنید: |
میزبان Firebase: سایت ها: دریافت \ SITE_ID | اطلاعات مربوط به سایت Hosting مشخص شده را بازیابی می کند |
میزبانی Firebase: سایت ها: لیست | همه سایت های Hosting برای پروژه فعال Firebase را لیست می کند |
مدیریت کانال های پیش نمایش | |
میزبان Firebase: کانال: ایجاد \ CHANNEL_ID | یک کانال پیش نمایش جدید را در سایت Hosting پیش فرض با استفاده از این دستور به کانال اعزام نمی شود. |
میزبان Firebase: کانال: حذف \ CHANNEL_ID | کانال پیش نمایش مشخص شده را حذف می کند شما نمی توانید کانال زنده یک سایت را حذف کنید. |
میزبان Firebase: کانال: استقرار \ CHANNEL_ID | محتوای Hosting خود را مستقر می کند و به کانال پیش نمایش مشخص شده پیکربندی می کند اگر کانال پیش نمایش هنوز وجود نداشته باشد ، این دستور قبل از اعزام به کانال ، کانال را در سایت Hosting پیش فرض ایجاد می کند. |
میزبان Firebase: کانال: لیست | تمام کانال ها (از جمله کانال "زنده") را در سایت Hosting پیش فرض لیست می کند |
میزبان Firebase: کانال: باز \ CHANNEL_ID | مرورگر را به URL کانال مشخص شده باز می کند یا اگر باز در مرورگر امکان پذیر نیست URL را برمی گرداند |
کلونینگ نسخه | |
میزبان Firebase: کلون \ SOURCE_SITE_ID : SOURCE_CHANNEL_ID \ TARGET_SITE_ID : TARGET_CHANNEL_ID | کلون ها نسخه اخیراً مستقر در کانال "منبع" مشخص شده به کانال "هدف" مشخص شده این دستور همچنین به کانال "هدف" مشخص شده اعزام می شود. اگر هنوز کانال "هدف" وجود نداشته باشد ، این دستور قبل از اعزام به کانال ، کانال پیش نمایش جدیدی را در سایت Hosting "هدف" ایجاد می کند. |
میزبان Firebase: کلون \ SOURCE_SITE_ID :@ VERSION_ID \ TARGET_SITE_ID : TARGET_CHANNEL_ID | نسخه مشخص شده به کانال "هدف" مشخص شده این دستور همچنین به کانال "هدف" مشخص شده اعزام می شود. اگر هنوز کانال "هدف" وجود نداشته باشد ، این دستور قبل از اعزام به کانال ، کانال پیش نمایش جدیدی را در سایت Hosting "هدف" ایجاد می کند. می توانید |
دستورات Realtime Database
توجه داشته باشید که می توانید نمونه اولیه و پیش فرض Realtime Database خود را در کنسول Firebase یا با استفاده از گردش کار عمومی firebase init
یا جریان firebase init database
ایجاد کنید.
پس از ایجاد نمونه ها ، می توانید آنها را همانطور که در مدیریت چندین نمونه Realtime Database بحث شده است ، مدیریت کنید.
فرمان | توضیحات |
---|---|
پایگاه داده: دریافت کنید | داده ها را از پایگاه داده پروژه فعال دریافت می کند و آن را به عنوان JSON نمایش می دهد. از پرس و جو در مورد داده های فهرست بندی شده پشتیبانی می کند. |
پایگاه داده: موارد: ایجاد | یک نمونه بانک اطلاعاتی با یک نام نمونه مشخص ایجاد می کند. گزینه --location برای ایجاد یک پایگاه داده در یک منطقه مشخص را می پذیرد. برای استفاده از نام های منطقه با این گزینه ، به مکان های انتخابی برای پروژه خود مراجعه کنید. اگر هیچ نمونه بانک اطلاعاتی برای پروژه فعلی وجود ندارد ، از شما خواسته می شود جریان firebase init را برای ایجاد یک نمونه اجرا کنید. |
پایگاه داده: موارد: لیست | تمام نمونه های پایگاه داده را برای این پروژه لیست کنید. گزینه --location را برای لیست پایگاه داده ها در یک منطقه مشخص می پذیرد. برای استفاده نام منطقه با این گزینه ، به مکان های انتخابی برای پروژه خود مراجعه کنید. |
پایگاه داده: نمایه | نمایه ای از عملیات را در پایگاه داده پروژه فعال ایجاد می کند. برای اطلاعات بیشتر ، به انواع عملکرد Realtime Database مراجعه کنید. |
پایگاه داده: فشار دهید | داده های جدید را به لیستی در یک مکان مشخص در پایگاه داده پروژه فعال سوق می دهد. از یک پرونده ، stdin یا یک آرگومان خط فرمان ورودی می گیرد. |
پایگاه داده: حذف | تمام داده ها را در یک مکان مشخص در پایگاه داده پروژه فعال حذف می کند. |
پایگاه داده: تنظیم | تمام داده ها را در یک مکان مشخص در پایگاه داده پروژه فعال جایگزین می کند. از یک پرونده ، stdin یا یک آرگومان خط فرمان ورودی می گیرد. |
پایگاه داده: به روز رسانی | یک به روزرسانی جزئی را در یک مکان مشخص در پایگاه داده پروژه فعال انجام می دهد. از یک پرونده ، stdin یا یک آرگومان خط فرمان ورودی می گیرد. |
دستورات Remote Config
فرمان | توضیحات |
---|---|
RemoteConfig: نسخه ها: لیست \ NUMBER_OF_VERSIONS | لیست جدیدترین ده نسخه از الگوی را لیست می کند. 0 برای بازگشت تمام نسخه های موجود مشخص کنید ، یا به صورت اختیاری گزینه --limit را برای محدود کردن تعداد نسخه های برگشت داده شده عبور دهید. |
remoteconfig: دریافت \ -v ، نسخه_number VERSION_NUMBER --o ، FILENAME خروجی | الگوی را بر اساس نسخه (پیش فرض به آخرین نسخه) دریافت می کند و گروه های پارامتر ، پارامترها و نام ها و نسخه ها را در یک جدول قرار می دهد. به صورت اختیاری ، می توانید خروجی را به یک فایل مشخص با -o, FILENAME بنویسید. |
RemoteConfig: Rollback \ -v ، نسخه_number VERSION_NUMBER -- زور | الگوی Remote Config به شماره نسخه قبلی مشخص شده یا پیش فرض نسخه قبلی فوری (نسخه فعلی -1) برگردانید. مگر در مواردی که --force به تصویب برسد ، قبل از ادامه کار ، Y/N را از بین می برد. |
Firebase CLI ( GitHub ) ابزارهای متنوعی را برای مدیریت ، مشاهده و استقرار در پروژه های Firebase فراهم می کند.
قبل از استفاده از Firebase CLI ، یک پروژه Firebase را راه اندازی کنید .
CLI را تنظیم یا به روز کنید
Firebase CLI را نصب کنید
می توانید Firebase CLI را با استفاده از روشی که مطابق با سیستم عامل ، سطح تجربه و/یا استفاده از آن باشد ، نصب کنید. صرف نظر از نحوه نصب CLI ، به همان عملکرد و دستور firebase
دسترسی دارید.
ویندوز
با استفاده از یکی از گزینه های زیر می توانید Firebase CLI را برای ویندوز نصب کنید:
گزینه | توضیحات | توصیه شده برای... |
---|---|---|
باینری مستقل | باینری مستقل را برای CLI بارگیری کنید. سپس ، می توانید به اجرایی دسترسی پیدا کنید تا پوسته ای را باز کنید که می توانید دستور firebase را اجرا کنید. | توسعه دهندگان جدید توسعه دهندگان با Node.js از آنها استفاده نمی کنند یا ناآشنا نیستند |
npm | برای نصب CLI و فعال کردن دستور firebase در سطح جهانی از NPM (مدیر بسته گره) استفاده کنید. | توسعه دهندگان با استفاده از node.js |
باینری مستقل
برای بارگیری و اجرای باینری برای Firebase CLI ، این مراحل را دنبال کنید:
باینری Firebase CLI را برای ویندوز بارگیری کنید.
برای باز کردن یک پوسته در جایی که می توانید فرمان
firebase
را اجرا کنید ، به باینری دسترسی پیدا کنید.به ورود به سیستم و آزمایش CLI ادامه دهید.
npm
برای استفاده از npm
(مدیر بسته گره) برای نصب Firebase CLI ، این مراحل را دنبال کنید:
node.js را با استفاده از NVM-Windows (مدیر نسخه گره) نصب کنید. نصب Node.js به طور خودکار ابزارهای فرمان
npm
را نصب می کند.با اجرای دستور زیر CLI Firebase را از طریق
npm
نصب کنید:npm install -g firebase-tools
این دستور فرمان
firebase
در سطح جهانی را قادر می سازد.به ورود به سیستم و آزمایش CLI ادامه دهید.
macOS یا Linux
شما می توانید Firebase CLI را برای MacOS یا Linux با استفاده از یکی از گزینه های زیر نصب کنید:
گزینه | توضیحات | توصیه شده برای... |
---|---|---|
اسکریپت نصب خودکار | یک دستور واحد را اجرا کنید که به طور خودکار سیستم عامل شما را تشخیص می دهد ، آخرین نسخه CLI را بارگیری می کند ، سپس دستور firebase در سطح جهانی را قادر می سازد. | توسعه دهندگان جدید توسعه دهندگان با Node.js از آنها استفاده نمی کنند یا ناآشنا نیستند استقرار خودکار در یک محیط CI/CD |
باینری مستقل | باینری مستقل را برای CLI بارگیری کنید. سپس ، می توانید باینری را متناسب با گردش کار خود پیکربندی و اجرا کنید. | گردش کار کاملاً قابل تنظیم با استفاده از CLI |
npm | برای نصب CLI و فعال کردن دستور firebase در سطح جهانی از NPM (مدیر بسته گره) استفاده کنید. | توسعه دهندگان با استفاده از node.js |
اسکریپت نصب خودکار
برای نصب Firebase CLI با استفاده از اسکریپت نصب خودکار ، این مراحل را دنبال کنید:
دستور curl زیر را اجرا کنید:
curl -sL https://firebase.tools | bash
این اسکریپت به طور خودکار سیستم عامل شما را تشخیص می دهد ، آخرین نسخه Firebase CLI را بارگیری می کند ، سپس دستور
firebase
در سطح جهان را قادر می سازد.به ورود به سیستم و آزمایش CLI ادامه دهید.
برای مثال بیشتر و جزئیات بیشتر در مورد اسکریپت نصب خودکار ، به کد منبع اسکریپت در Firebase.tools مراجعه کنید.
باینری مستقل
برای بارگیری و اجرای باینری برای Firebase CLI که مخصوص سیستم عامل شماست ، این مراحل را دنبال کنید:
باینری Firebase CLI را برای سیستم عامل خود بارگیری کنید: MACOS | لینوکس
(اختیاری) دستور
firebase
در سطح جهانی موجود را تنظیم کنید.- با اجرای
chmod +x ./firebase_tools
باینری را اجرا کنید. - مسیر باینری را به مسیر خود اضافه کنید.
- با اجرای
به ورود به سیستم و آزمایش CLI ادامه دهید.
npm
برای استفاده از npm
(مدیر بسته گره) برای نصب Firebase CLI ، این مراحل را دنبال کنید:
node.js را با استفاده از NVM (مدیر نسخه گره) نصب کنید.
نصب Node.js به طور خودکار ابزارهای فرمانnpm
را نصب می کند.با اجرای دستور زیر CLI Firebase را از طریق
npm
نصب کنید:npm install -g firebase-tools
این دستور فرمان
firebase
در سطح جهانی را قادر می سازد.به ورود به سیستم و آزمایش CLI ادامه دهید.
وارد شوید و CLI Firebase را آزمایش کنید
پس از نصب CLI ، باید تأیید اعتبار کنید. سپس می توانید با لیست پروژه های Firebase خود تأیید اعتبار را تأیید کنید.
با اجرای دستور زیر با استفاده از حساب Google خود وارد Firebase شوید:
firebase login
این دستور دستگاه محلی شما را به Firebase متصل می کند و به شما دسترسی می دهد به پروژه های Firebase خود.
آزمایش کنید که CLI به درستی نصب شده و با لیست پروژه های Firebase خود به حساب شما دسترسی پیدا کرده است. دستور زیر را اجرا کنید:
firebase projects:list
لیست نمایش داده شده باید همان پروژه های Firebase ذکر شده در کنسول Firebase باشد.
آخرین نسخه CLI را به روز کنید
به طور کلی ، شما می خواهید از به روزترین نسخه CLI Firebase استفاده کنید.
نحوه به روزرسانی نسخه CLI به سیستم عامل شما و نحوه نصب CLI بستگی دارد.
ویندوز
- باینری مستقل : نسخه جدید را بارگیری کنید ، سپس آن را روی سیستم خود جایگزین کنید
- NPM :
npm install -g firebase-tools
macOS
- اسکریپت نصب اتوماتیک : اجرای
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 استفاده کنید
CLI Firebase برای تکمیل احراز هویت به یک مرورگر نیاز دارد ، اما CLI کاملاً با CI و سایر محیط های بدون سر سازگار است.
روی یک دستگاه با مرورگر ، Firebase CLI را نصب کنید .
فرآیند SignIn را با اجرای دستور زیر شروع کنید:
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 خود انتخاب کنید.
این مرحله باعث می شود که تنظیمات پرونده های خاص برای محصولات انتخاب شده را تنظیم کنید. برای اطلاعات بیشتر در مورد این تنظیمات ، به مستندات محصول خاص (به عنوان مثال Hosting ) مراجعه کنید. توجه داشته باشید که همیشه می توانید
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 Hosting را مستقیماً در پرونده firebase.json
پیکربندی کنید. با این حال ، برای سایر خدمات Firebase که می توانند با Firebase CLI مستقر شوند ، دستور firebase init
پرونده های خاصی را ایجاد می کند که می توانید تنظیمات مربوط به آن خدمات را تعریف کنید ، مانند یک پرونده index.js
برای Cloud Functions . همچنین می توانید قلاب های Premeploy یا Postdeploy را در پرونده firebase.json
تنظیم کنید.
در زیر فایل firebase.json
با تنظیمات پیش فرض در صورت انتخاب Firebase Hosting ، Cloud Firestore و Cloud Functions for Firebase (با منبع TypeScript و گزینه های انتخاب شده انتخاب شده) در طول اولیه ، در زیر آمده است.
{
"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 Security Rules و پرونده های منبع فهرست پایگاه داده را با هر پایگاه داده مرتبط کنید. پرونده را با یک آرایه 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 Files برای نادیده گرفتن در استقرار
در زمان استقرار عملکرد ، CLI به طور خودکار لیستی از پرونده های موجود در فهرست functions
را برای نادیده گرفتن مشخص می کند. این امر مانع از استقرار در پرونده های بیرونی با پس زمینه می شود که می تواند اندازه داده استقرار شما را افزایش دهد.
لیست پرونده های نادیده گرفته شده به طور پیش فرض ، که در قالب 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 دیگری را انتخاب کرده و پروژه را به عنوان نام مستعار اختصاص دهید. تکالیف Alias به یک پرونده .firebaserc
در فهرست پروژه شما نوشته شده است.
از نام مستعار پروژه استفاده کنید
برای استفاده از نام مستعار پروژه Firebase اختصاص داده شده ، هر یک از دستورات زیر را از درون فهرست پروژه خود اجرا کنید.
فرمان | توضیحات |
---|---|
firebase use | لیستی از نام مستعار تعریف شده برای فهرست پروژه خود را مشاهده کنید |
firebase use \ | کلیه دستورات را برای اجرای در برابر پروژه مشخص شده Firebase هدایت می کند. CLI از این پروژه به عنوان "پروژه فعال" در حال حاضر استفاده می کند. |
firebase use --clear | پروژه فعال را پاک می کند. برای تنظیم یک پروژه فعال جدید قبل از اجرای سایر دستورات CLI |
firebase use \ | یک نام مستعار را از فهرست پروژه خود حذف می کند. |
شما می توانید با عبور از پرچم --project
با هر دستور CLI ، آنچه را که به عنوان پروژه فعال در حال حاضر استفاده می شود ، نادیده بگیرید. به عنوان نمونه: شما می توانید CLI خود را برای اجرای در برابر یک پروژه Firebase که نام مستعار staging
تعیین کرده اید ، تنظیم کنید. اگر می خواهید یک فرمان واحد را در برابر پروژه Firebase که به عنوان Alias prod
اختصاص داده اید اجرا کنید ، می توانید به عنوان مثال ،
اجرا کنید.
کنترل منبع و نام مستعار پروژه
به طور کلی ، شما باید پرونده .firebaserc
خود را در کنترل منبع بررسی کنید تا به تیم خود اجازه دهید نام مستعار پروژه را به اشتراک بگذارد. با این حال ، برای پروژه های منبع باز یا الگوهای استارت ، به طور کلی نباید در پرونده .firebaserc
خود را بررسی کنید.
اگر یک پروژه توسعه ای دارید که فقط برای استفاده شما است ، می توانید پرچم --project
را با هر دستور منتقل کنید یا firebase use PROJECT_ID
بدون اختصاص نام مستعار به پروژه Firebase استفاده کنید.
پروژه Firebase خود را به صورت محلی سرو و آزمایش کنید
شما می توانید قبل از استقرار در تولید ، پروژه Firebase خود را در URL های میزبان محلی مشاهده و آزمایش کنید. اگر فقط می خواهید ویژگی های SELECT را آزمایش کنید ، می توانید از یک لیست جدا از کاما در پرچم در دستور firebase serve
استفاده کنید.
اگر می خواهید هر یک از کارهای زیر را انجام دهید ، دستور زیر را از ریشه دایرکتوری پروژه محلی خود اجرا کنید:
- محتوای استاتیک را برای برنامه میزبان Firebase خود مشاهده کنید.
- از Cloud Functions برای تولید محتوای پویا برای Firebase Hosting استفاده کنید و می خواهید از توابع HTTP تولید (مستقر شده) خود برای تقلید Hosting در 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 Hosting شما
- Cloud Functions for Firebase
- برنامه ها و اتصالات جدید یا به روز شده برای Firebase Data Connect
- قوانین مربوط به Firebase Realtime Database
- قوانینی برای Cloud Storage for Firebase
- قوانینی برای Cloud Firestore
- ایندکس برای Cloud Firestore
برای اعزام به یک پروژه Firebase ، دستور زیر را از فهرست پروژه خود اجرا کنید:
firebase deploy
شما می توانید به صورت اختیاری نظر خود را به هر یک از استقرارهای خود اضافه کنید. این نظر با سایر اطلاعات استقرار در صفحه Firebase Hosting پروژه شما نمایش داده می شود. به عنوان مثال:
firebase deploy -m "Deploying the best new feature ever."
هنگامی که از دستور firebase deploy
استفاده می کنید ، از موارد زیر آگاه باشید:
برای استقرار منابع از یک فهرست پروژه ، دایرکتوری پروژه باید یک پرونده
firebase.json
داشته باشد. این پرونده به طور خودکار توسط دستورfirebase init
برای شما ایجاد می شود.به طور پیش فرض ،
firebase deploy
نسخه ای را برای کلیه منابع قابل اجرا در فهرست پروژه شما ایجاد می کند. برای استقرار خدمات یا ویژگی های خاص Firebase ، از استقرار جزئی استفاده کنید .
تعارضات استقرار برای قوانین امنیتی
برای Firebase Realtime Database ، Cloud Storage for Firebase و Cloud Firestore ، می توانید قوانین امنیتی را در فهرست پروژه محلی خود یا در کنسول Firebase تعریف کنید.
گزینه دیگر برای جلوگیری از درگیری های استقرار استفاده از استقرار جزئی و تعریف قوانین در کنسول Firebase است.
سهمیه های استقرار
این امکان وجود دارد (اگرچه بعید به نظر می رسد) ممکن است از سهمیه ای فراتر رود که نرخ یا حجم عملیات استقرار Firebase شما را محدود کند. به عنوان مثال ، هنگام استقرار تعداد بسیار زیادی از کارکردها ، ممکن است یک پیام خطای HTTP 429 Quota
دریافت کنید. برای حل چنین مواردی ، از استقرار جزئی استفاده کنید.
استقرار را برگردانید
می توانید با انتخاب اقدامات برگشت پذیر برای انتشار مورد نظر ، یک Firebase Hosting را از صفحه Firebase Hosting پروژه خود برگردانید.
در حال حاضر امکان انتشار نسخه های قوانین امنیتی برای Firebase Realtime Database ، Cloud Storage for Firebase یا Cloud Firestore امکان پذیر نیست.
خدمات خاص Firebase را مستقر کنید
اگر فقط می خواهید خدمات یا ویژگی های خاص Firebase را مستقر کنید ، می توانید از یک لیست جدا از کاما در پرچم در دستور firebase deploy
استفاده کنید. به عنوان مثال ، دستور زیر محتوای Firebase Hosting و قوانین امنیتی Cloud Storage مستقر می کند.
firebase deploy --only hosting,storage
در جدول زیر خدمات و ویژگی های موجود برای استقرار جزئی ذکر شده است. نام های موجود در پرچم ها با کلیدهای موجود در پرونده پیکربندی firebase.json
شما مطابقت دارند.
نحو پرچم | سرویس یا ویژگی مستقر |
---|---|
--only hosting | محتوای Firebase Hosting |
--only database | قوانین Firebase Realtime Database |
--only dataconnect | Firebase Data Connect Schemas و اتصالات |
--only storage | Cloud Storage for Firebase |
--only firestore | قوانین و فهرست های Cloud Firestore برای کلیه پایگاه داده های پیکربندی شده |
--only functions | Cloud Functions for Firebase ( نسخه های خاص تر این پرچم امکان پذیر است) |
توابع خاص را مستقر کنید
هنگام استفاده از توابع ، می توانید عملکردهای خاص را هدف قرار دهید. به عنوان مثال:
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
گزینه دیگر گروه بندی توابع در گروه های صادراتی در پرونده /functions/index.js
است. توابع گروه بندی به شما امکان می دهد چندین کارکرد را با استفاده از یک دستور واحد مستقر کنید.
به عنوان مثال ، می توانید توابع زیر را برای تعریف groupA
و groupB
بنویسید:
var functions = require('firebase-functions/v1');
exports.groupA = {
function1: functions.https.onRequest(...),
function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');
در این مثال ، یک پرونده جداگانه functions/groupB.js
شامل توابع اضافی است که به طور خاص توابع موجود در groupB
را تعریف می کند. به عنوان مثال:
var functions = require('firebase-functions/v1');
exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);
در این مثال ، می توانید با اجرای دستور زیر از فهرست پروژه خود ، تمام توابع groupA
مستقر کنید:
firebase deploy --only functions:groupA
یا می توانید با اجرای دستور زیر یک عملکرد خاص را در یک گروه هدف قرار دهید:
firebase deploy --only functions:groupA.function1,groupB.function4
توابع را حذف کنید
Firebase 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
وظایف اسکریپت شده پیش از کار و Postdeploy را تنظیم کنید
می توانید اسکریپت های پوسته را برای انجام وظایف از پیش استخدام یا postdeploy به دستور firebase deploy
متصل کنید. به عنوان مثال ، یک اسکریپت از پیش برنامه می تواند کد Typescript را به JavaScript منتقل کند ، و یک قلاب Postdeploy می تواند به مدیران از محتوای سایت جدید استقرار در Firebase Hosting اطلاع دهد.
برای تنظیم قلاب های Premeploy یا Postdeploy ، اسکریپت های Bash را به پرونده پیکربندی firebase.json
خود اضافه کنید. می توانید اسکریپت های مختصر را مستقیماً در پرونده firebase.json
تعریف کنید ، یا می توانید پرونده های دیگری را که در فهرست پروژه خود هستند ، ارجاع دهید.
به عنوان مثال ، اسکریپت زیر عبارت firebase.json
برای یک کار postdeploy است که پس از استقرار موفقیت آمیز به 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 است که باید مستقر شوند
چندین نمونه Realtime Database را مدیریت کنید
یک پروژه Firebase می تواند دارای چندین نمونه Firebase Realtime Database باشد. به طور پیش فرض ، دستورات CLI با نمونه پایگاه داده پیش فرض شما تعامل دارند.
با این حال ، شما می توانید با استفاده از نمونه پایگاه داده غیر پیش فرض در تعامل باشید--instance DATABASE_NAME
FLAG. دستورات زیر از پرچم --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 (فقط اندروید) | ||
برنامه ها: Android: sha: ایجاد \ FIREBASE_APP_ID SHA_HASH | هش گواهی SHA مشخص شده را به برنامه Android Firebase مشخص شده اضافه می کند. | |
برنامه ها: Android: sha: حذف \ FIREBASE_APP_ID SHA_HASH | هش گواهی SHA مشخص شده را از برنامه مشخص شده Android Firebase حذف می کند. | |
برنامه ها: Android: sha: لیست \ FIREBASE_APP_ID | هش های گواهی SHA را برای برنامه مشخص شده Android Firebase Firebase لیست می کند. |
استقرار و توسعه محلی
این دستورات به شما امکان می دهد تا با سایت Firebase Hosting خود مستقر و تعامل برقرار کنید.
فرمان | توضیحات |
---|---|
استقرار | کد و دارایی ها را از فهرست پروژه خود به پروژه فعال مستقر می کند. برای Firebase Hosting ، یک پرونده پیکربندی firebase.json لازم است. |
خدمت کنید | یک سرور وب محلی را با پیکربندی Firebase Hosting خود شروع می کند. برای Firebase Hosting ، یک پرونده پیکربندی firebase.json لازم است. |
دستورات App Distribution
فرمان | توضیحات |
---|---|
AppDistribution: توزیع \ -APP FIREBASE_APP_ID | ساخت را در دسترس آزمایش کنندگان قرار می دهد. |
AppDistribution: آزمایش کنندگان: اضافه کردن | آزمایش کنندگان را به پروژه اضافه می کند. |
AppDistribution: آزمایش کنندگان: حذف | آزمایش کنندگان را از پروژه خارج می کند. |
دستورات App Hosting
فرمان | توضیحات |
---|---|
apphosting: backends: ایجاد \ -پروژه PROJECT_ID \ -منطقه REGION APP_ID | مجموعه ای از منابع مدیریت شده مرتبط با یک پایگاه کد واحد را ایجاد می کند که شامل یک App Hosting است. به صورت اختیاری یک برنامه وب Firebase موجود را توسط شناسه برنامه Firebase خود مشخص کنید. |
apphosting: backends: دریافت \ BACKEND_ID \ -پروژه PROJECT_ID \ REGION مکان یابی | جزئیات خاص ، از جمله URL عمومی ، یک پس زمینه را بازیابی می کند. |
Apphosting: Backends: لیست \ -پروژه PROJECT_ID | لیستی از تمام باکترهای فعال مرتبط با یک پروژه را بازیابی می کند. |
Apphosting Firebase: Backends: حذف \ BACKEND_ID \ -پروژه PROJECT_ID \ REGION مکان یابی | باکتری از پروژه حذف می شود. |
Apphosting Firebase: پیکربندی: صادرات \ -پروژه PROJECT_ID \ -Secrets ENVIRONMENT_NAME | برای استفاده در تقلید برنامه ، اسرار صادرات را صادر می کند. پیش فرض به اسرار ذخیره شده در apphosting.yaml ، یا --secrets برای مشخص کردن هر محیطی که دارای یک apphosting. ENVIRONMENT_NAME .yaml FILE apphosting. ENVIRONMENT_NAME .yaml . |
Apphosting Firebase: Rollouts: ایجاد \ BACKEND_ID \ -git_branch BRANCH_NAME \ -git_commit COMMIT_ID | یک چرخش دستی ایجاد می کند. به صورت اختیاری آخرین تعهد به یک شعبه یا یک تعهد خاص را مشخص کنید. در صورت عدم ارائه گزینه ، انتخاب از لیستی از شاخه ها را انتخاب می کند. |
Apphosting: Secrets: Set KEY -Project PROJECT_ID \ -منطقه REGION سکونت \ -Data-File DATA_FILE_PATH | فروشگاه های مخفی در مدیر مخفی. به صورت اختیاری یک مسیر فایل را برای خواندن داده های مخفی فراهم کنید. برای خواندن داده های مخفی از ورودی استاندارد روی _ تنظیم کنید. |
Apphosting: Secrets: GrantAccess KEY BACKEND_ID \ -پروژه PROJECT_ID \ REGION مکان یابی | Grants the backend service account access to the provided secret so that it can be accessed by App Hosting at build or run time. |
apphosting:secrets:describe KEY \ --project PROJECT_ID | Gets the metadata for a secret and its versions. |
firebase apphosting:secrets:access \ KEY[@version] \ --project PROJECT_ID | Accesses a secret value given the secret and its version. Defaults to accessing the latest version. |
Authentication (user management) commands
فرمان | توضیحات |
---|---|
auth:export | Exports the active project's user accounts to a JSON or CSV file. For more details, refer to the auth:import and auth:export page . |
auth:import | Imports the user accounts from a JSON or CSV file into the active project. For more details, refer to the auth:import and auth:export page . |
Cloud Firestore commands
فرمان | توضیحات |
---|---|
firestore:locations | List available locations for your Cloud Firestore database. |
firestore:databases:create DATABASE_ID | Create a database instance in native mode in your Firebase project. The command takes the following flags:
|
firestore:databases:list | List databases in your Firebase project. |
firestore:databases:get DATABASE_ID | Get database configuration for a specified database in your Firebase project. |
firestore:databases:update DATABASE_ID | Update database configuration of a specified database in your Firebase project. At least one flag is required. The command takes the following flags:
|
firestore:databases:delete DATABASE_ID | Delete a database in your Firebase project. |
firestore:indexes | List indexes for a database in your Firebase project. The command takes the following flag:
|
firestore:delete | Deletes documents in the active project's database. Using the CLI, you can recursively delete all the documents in a collection. Note that deleting Cloud Firestore data with the CLI incurs read and delete costs. For more information, see Understand Cloud Firestore billing . The command takes the following flag:
|
Cloud Functions for Firebase commands
فرمان | توضیحات |
---|---|
functions:config:clone | Clones another project's environment into the active Firebase project. |
functions:config:get | Retrieves existing configuration values of the active project's Cloud Functions . |
functions:config:set | Stores runtime configuration values of the active project's Cloud Functions . |
functions:config:unset | Removes values from the active project's runtime configuration. |
functions:log | Reads logs from deployed Cloud Functions . |
For more information, refer to the environment configuration documentation .
Crashlytics commands
فرمان | توضیحات |
---|---|
crashlytics:mappingfile:generateid \ --resource-file= PATH/TO/ANDROID_RESOURCE.XML | Generates a unique mapping file ID in the specified Android resource (XML) file. |
crashlytics:mappingfile:upload \ --app= FIREBASE_APP_ID \ --resource-file= PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT | Uploads a Proguard-compatible mapping (TXT) file for this app, and associates it with the mapping file ID declared in the specified Android resource (XML) file. |
crashlytics:symbols:upload \ --app= FIREBASE_APP_ID \ PATH/TO/SYMBOLS | Generates a Crashlytics -compatible symbol file for native library crashes on Android and uploads it to Firebase servers. |
Data Connect commands
These commands and their use cases are covered in more detail in the Data Connect CLI reference guide .
فرمان | توضیحات |
---|---|
dataconnect:services:list | Lists all deployed Data Connect services in your Firebase project. |
dataconnect:sql:diff \ SERVICE_ID | For the specified service, displays the differences between a local Data Connect schema and your Cloud SQL database schema. |
dataconnect:sql:migrate \ -- زور \ SERVICE_ID | Migrates your Cloud SQL database's schema to match your local Data Connect schema. |
dataconnect:sql:grant\ --role= ROLE \ --email= EMAIL \ SERVICE_ID | Grants the SQL role to the specified user or service account email. For the --role flag, the SQL role to grant is one of: owner , writer , or reader .For the --email flag, provide the email address of the user or service account to grant the role to. |
dataconnect:sdk:generate | Generates typed SDKs for your Data Connect connectors. |
Extensions commands
فرمان | توضیحات |
---|---|
داخلی | Displays information on how to use Firebase Extensions commands. Lists the extension instances installed in the active project. |
ext:configure \ EXTENSION_INSTANCE_ID | Reconfigures the parameter values of an extension instance in your extension manifest . |
ext:info \ PUBLISHER_ID/EXTENSION_ID | Prints detailed information about an extension. |
ext:install \ PUBLISHER_ID/EXTENSION_ID | Adds a new instance of an extension into your extension manifest . |
ext:list | Lists all the extension instances installed in a Firebase project. Prints the instance ID for each extension. |
ext:uninstall \ EXTENSION_INSTANCE_ID | Removes an extension instance from your extension manifest . |
ext:update \ EXTENSION_INSTANCE_ID | Updates an extension instance to the latest version in your extension manifest . |
ext:export | Exports all installed extension instances from your project to your extension manifest . |
Extensions publisher commands
فرمان | توضیحات |
---|---|
ext:dev:init | Initializes a skeleton codebase for a new extension in the current directory. |
ext:dev:list \ PUBLISHER_ID | Prints a list of all extensions uploaded by a publisher. |
ext:dev:register | Registers a Firebase project as an extensions publisher project . |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE | Deprecates extension versions that match the version predicate. A version predicate can be a single version (such as 1.0.0 ), or a range of versions (such as >1.0.0 ).If no version predicate is provided, deprecates all versions of that extension. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE | Undeprecates extension versions that match the version predicate. A version predicate can be a single version (such as 1.0.0 ), or a range of versions (such as >1.0.0 ).If no version predicate is provided, undeprecates all versions of that extension. |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID | Uploads a new version of an extension. |
ext:dev:usage \ PUBLISHER_ID | Displays install counts and usage metrics for extensions uploaded by a publisher. |
Hosting commands
فرمان | توضیحات |
---|---|
hosting:disable | Stops serving Firebase Hosting traffic for the active Firebase project. Your project's Hosting URL will display a "Site Not Found" message after running this command. |
Management of Hosting sites | |
firebase hosting:sites:create \ SITE_ID | Creates a new Hosting site in the active Firebase project using the specified (Optional) Specify an existing Firebase Web App to associate with the new site by passing the following flag: |
firebase hosting:sites:delete \ SITE_ID | Deletes the specified Hosting site The CLI displays a confirmation prompt before deleting the site. (Optional) Skip the confirmation prompt by passing the following flags: |
firebase hosting:sites:get \ SITE_ID | Retrieves information about the specified Hosting site |
firebase hosting:sites:list | Lists all Hosting sites for the active Firebase project |
Management of preview channels | |
firebase hosting:channel:create \ CHANNEL_ID | Creates a new preview channel in the default Hosting site using the specified This command does not deploy to the channel. |
firebase hosting:channel:delete \ CHANNEL_ID | Deletes the specified preview channel You cannot delete a site's live channel. |
firebase hosting:channel:deploy \ CHANNEL_ID | Deploys your Hosting content and config to the specified preview channel If the preview channel does not yet exist, this command creates the channel in the default Hosting site before deploying to the channel. |
firebase hosting:channel:list | Lists all channels (including the "live" channel) in the default Hosting site |
firebase hosting:channel:open \ CHANNEL_ID | Opens a browser to the specified channel's URL or returns the URL if opening in a browser isn't possible |
Version cloning | |
firebase hosting:clone \ SOURCE_SITE_ID : SOURCE_CHANNEL_ID \ TARGET_SITE_ID : TARGET_CHANNEL_ID | Clones the most recently deployed version on the specified "source" channel to the specified "target" channel This command also deploys to the specified "target" channel. If the "target" channel does not yet exist, this command creates a new preview channel in the "target" Hosting site before deploying to the channel. |
firebase hosting:clone \ SOURCE_SITE_ID :@ VERSION_ID \ TARGET_SITE_ID : TARGET_CHANNEL_ID | Clones the specified version to the specified "target" channel This command also deploys to the specified "target" channel. If the "target" channel does not yet exist, this command creates a new preview channel in the "target" Hosting site before deploying to the channel. You can find the |
Realtime Database commands
Note that you can create your initial, default Realtime Database instance in the Firebase console or by using the general firebase init
workflow or the specific firebase init database
flow.
Once instances are created, you can manage them as discussed in Manage multiple Realtime Database instances .
فرمان | توضیحات |
---|---|
database:get | Fetches data from the active project's database and displays it as JSON. Supports querying on indexed data. |
database:instances:create | Creates a database instance with a specified instance name. Accepts the --location option for creating a database in a specified region. For region names to use with this option, see select locations for your project . If no database instance exists for the current project, you are prompted to run the firebase init flow to create an instance. |
database:instances:list | List all database instances for this project. Accepts the --location option for listing databases in a specified region. For region names to use with this option see select locations for your project . |
database:profile | Builds a profile of operations on the active project's database. For more details, refer to Realtime Database operation types . |
database:push | Pushes new data to a list at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument. |
database:remove | Deletes all data at a specified location in the active project's database. |
database:set | Replaces all data at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument. |
database:update | Performs a partial update at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument. |
Remote Config commands
فرمان | توضیحات |
---|---|
remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS | Lists the most recent ten versions of the template. Specify 0 to return all existing versions, or optionally pass the --limit option to limit the number of versions being returned. |
remoteconfig:get \ --v, version_number VERSION_NUMBER --o, output FILENAME | Gets the template by version (defaults to the latest version) and outputs the parameter groups, parameters, and condition names and version into a table. Optionally, you can write the output to a specified file with -o, FILENAME . |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER -- زور | Rolls back Remote Config template to a specified previous version number or defaults to the immediate previous version (current version -1). Unless --force is passed, prompts Y/N before proceeding to rollback. |