اهداف استقرار، شناسههای نام کوتاهی هستند (که خودتان تعریف میکنید) برای منابع Firebase در پروژه Firebase، مانند یک سایت Hosting با داراییهای ثابت منحصر به فرد یا گروهی از نمونههای Realtime Database که قوانین امنیتی یکسانی دارند.
اهداف توسعه زمانی مفید هستند که چندین سایت Hosting ، چندین سطل Cloud Storage یا چندین نمونه Realtime Database دارید. با استقرار اهداف، Firebase CLI میتواند تنظیمات را در یک منبع Firebase خاص یا گروهی از منابع در پروژه شما مستقر کند، مانند:
- پیکربندی میزبانی برای هر یک از سایت های Hosting شما
- دارایی های ثابت از فهرست پروژه شما برای هر یک از سایت های Hosting شما
- قوانین امنیتی به اشتراک گذاشته شده توسط چندین نمونه Realtime Database یا چند سطل Cloud Storage
برای تنظیم یک هدف استقرار:
- یک
TARGET_NAME
در منبع Firebase هدفمند یا گروهی از منابع Firebase اعمال کنید . - در فایل
firebase.json
خود، هنگام پیکربندی تنظیمات برای هر منبع یا گروهی از منابع ، بهTARGET_NAME
مرتبط ارجاع دهید .
هنگامی که فرمان های Firebase CLI را اجرا می کنید (مانند firebase deploy
)، Firebase CLI هر TARGET_NAME
با منابع Firebase مرتبط خود جفت می کند. سپس CLI تنظیمات مربوط به هر منبع را به پروژه Firebase شما ارسال می کند.
اهداف استقرار را برای منابع Firebase خود تنظیم کنید
با استفاده از Firebase CLI، یک TARGET_NAME
(شناسه نام کوتاهی که خودتان تعریف میکنید) به یک منبع Firebase یا گروهی از منابع Firebase اعمال کنید. Firebase از اهداف استقرار برای موارد زیر پشتیبانی می کند:
تنظیمات برای استقرار اهداف در فایل .firebaserc
در فهرست پروژه شما ذخیره می شود، بنابراین شما فقط باید یک بار در هر پروژه اهداف استقرار را تنظیم کنید.
اهداف استقرار را برای Hosting تنظیم کنید
برای ایجاد یک Deploy target و اعمال TARGET_NAME
در یک سایت Hosting ، دستور CLI زیر را اجرا کنید:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
جایی که پارامترها عبارتند از:
TYPE - نوع منبع Firebase مربوطه
- برای سایت های Firebase Hosting ، از
hosting
استفاده کنید.
- برای سایت های Firebase Hosting ، از
TARGET_NAME - یک نام منحصر به فرد برای سایت Hosting که شما در آن مستقر می شوید
RESOURCE_IDENTIFIER -
SITE_ID
برای سایت Hosting که در پروژه Firebase شما فهرست شده است
برای مثال، اگر دو سایت ( myapp-blog
و myapp-app
) در پروژه Firebase خود ایجاد کردهاید، میتوانید با اجرای دستورات زیر یک TARGET_NAME
(به ترتیب blog
و app
) را برای هر سایت اعمال کنید:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
اهداف استقرار را برای Cloud Storage یا Realtime Database تنظیم کنید
برای ایجاد یک هدف استقرار و اعمال یک TARGET_NAME
در مجموعهای از منابع Cloud Storage یا Realtime Database ، دستور CLI زیر را اجرا کنید:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
جایی که پارامترها عبارتند از:
TYPE - نوع منبع Firebase مربوطه
- برای سطلهای Cloud Storage ، از
storage
استفاده کنید. - برای نمونه های Realtime Database ، از
database
استفاده کنید.
- برای سطلهای Cloud Storage ، از
TARGET_NAME - یک نام منحصر به فرد برای منبع یا گروهی از منابع که قوانین امنیتی را به اشتراک می گذارند
RESOURCE_IDENTIFIER - شناسههای منابعی که در پروژه Firebase فهرست شدهاند (مانند نامهای سطل ذخیرهسازی یا شناسههای نمونه پایگاه داده) که همگی قوانین امنیتی یکسانی دارند.
برای مثال، میتوانید TARGET_NAME
main
را در گروهی از سه سطل Cloud Storage منطقهای (که همگی قوانین امنیتی یکسانی دارند) با اجرای دستور زیر اعمال کنید:
firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja
توجه داشته باشید که myproject.appspot.com
شناسه سطل پیشفرض است، در حالی که myproject-eu
و myproject-ja
دو سطل اضافی هستند که در پروژه Firebase ایجاد شدهاند.
فایل firebase.json خود را برای استفاده از Deploy targets پیکربندی کنید
پس از اینکه اهداف استقرار را برای منابع Firebase خود تنظیم کردید، به هر TARGET_NAME
اعمال شده در فایل پیکربندی firebase.json
خود اشاره کنید:
- آرایه ای از اشیاء پیکربندی را برای هر منبع Firebase
TYPE
(hosting
،storage
، یاdatabase
) ایجاد کنید. - در آرایه ها،
target
را مشخص کنید (با استفاده ازTARGET_NAME
) و تنظیمات خود را برای منبع Firebase مرتبط یا گروهی از منابع تعریف کنید.
در ادامه مثالهای بالا، جایی که پروژه Firebase شما دارای دو سایت Hosting و سه سطل Cloud Storage است (که قوانین امنیتی یکسانی دارند)، فایل firebase.json
شما به شکل زیر است:
{ "hosting": [ { "target": "blog", // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog" "public": "blog/dist", // contents of this folder are deployed to the site "myapp-blog" // ... }, { "target": "app", // "app" is the applied TARGET_NAME for the Hosting site "myapp-app" "public": "app/dist", // contents of this folder are deployed to the site "myapp-app" // ... "rewrites": [...] // You can define specific Hosting configurations for each site } ] } { "storage": [ { "target": "main", // "main" is the applied TARGET_NAME for the group of Cloud Storage buckets "rules": "storage.main.rules" // the file that contains the shared security rules } ] }
اگر چندین پیکربندی برای منابع خود دارید، می توانید چندین هدف مستقر ایجاد کنید و هر کدام را در فایل firebase.json
مشخص کنید. هنگامی که firebase deploy
را اجرا می کنید، همه منابع مرتبط با هم مستقر می شوند.
اهداف استقرار را مدیریت کنید
تنظیمات برای استقرار اهداف در فایل .firebaserc
در فهرست پروژه شما ذخیره می شود. می توانید با اجرای هر یک از دستورات زیر از ریشه دایرکتوری پروژه، اهداف استقرار پروژه خود را مدیریت کنید.
فرمان | توضیحات |
---|---|
firebase target | اهداف استقرار را برای فهرست پروژه فعلی شما فهرست می کند |
firebase target:remove \ | منبعی را از هدفی که به آن اختصاص داده شده است حذف می کند |
firebase target:clear \ | تمام منابع یا سایت Hosting از هدف مشخص شده حذف می کند |
دستورات target:remove
و target:clear
به طور خودکار تنظیمات deploy target را در فایل .firebaserc
در فهرست پروژه شما به روز می کنند.
قبل از استقرار به صورت محلی تست کنید
هر یک از دستورات زیر را از ریشه دایرکتوری پروژه خود اجرا کنید.
فرمان | توضیحات |
---|---|
firebase emulators:start | تمام منابع پیکربندی شده در فهرست پروژه شما را شبیه سازی می کند |
firebase emulators:start \ | فقط محتوای Hosting و پیکربندی سایت Hosting مشخص شده را شبیه سازی می کند |
firebase emulators:start \ | فقط فایل قوانین را برای هدف مشخص شده Cloud Storage شبیه سازی می کند |
firebase emulators:start \ | فقط فایل قوانین را برای هدف Realtime Database مشخص شده شبیه سازی می کند |
درباره پیکربندی و استفاده از Firebase Local Emulator Suite بیشتر بیاموزید.
منابع خاص Firebase را مستقر کنید
هر یک از دستورات زیر را از ریشه دایرکتوری پروژه خود اجرا کنید.
فرمان | توضیحات |
---|---|
firebase deploy | انتشاری از تمام منابع قابل استقرار در فهرست پروژه شما ایجاد می کند |
firebase deploy \ | فقط محتوای Hosting و پیکربندی سایت Hosting مشخص شده را در کانال زنده سایت مستقر می کند. |
firebase hosting:channel:deploy CHANNEL_ID \ | فقط محتوای Hosting و پیکربندی سایت Hosting مشخص شده را در یک کانال پیش نمایش برای سایت مستقر می کند. |
firebase deploy \ | فقط فایل قوانین را برای هدف مشخص شده Cloud Storage مستقر می کند |
firebase deploy \ | فقط فایل قوانین را برای هدف مشخص شده Realtime Database مستقر می کند |