اهداف استقرار، شناسههای نام کوتاهی هستند (که خودتان تعریف میکنید) برای منابع Firebase در پروژه Firebase، مانند یک سایت میزبانی با داراییهای ثابت منحصر به فرد یا گروهی از نمونههای پایگاه داده بیدرنگ که قوانین امنیتی یکسانی دارند.
اهداف توسعه زمانی مفید هستند که چندین سایت میزبانی ، چندین سطل فضای ذخیره سازی ابری یا چندین نمونه پایگاه داده بیدرنگ دارید. با استقرار اهداف، Firebase CLI میتواند تنظیمات را در یک منبع Firebase خاص یا گروهی از منابع در پروژه شما مستقر کند، مانند:
- پیکربندی میزبانی برای هر یک از سایت های میزبانی شما
- دارایی های ثابت از فهرست پروژه شما برای هر یک از سایت های میزبانی شما
- قوانین امنیتی به اشتراک گذاشته شده توسط چندین نمونه پایگاه داده بیدرنگ یا چند سطل فضای ذخیره سازی ابری
برای تنظیم یک هدف استقرار:
- یک
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 از اهداف استقرار برای موارد زیر پشتیبانی می کند:
- سایت های میزبانی Firebase
- Cloud Storage برای سطل های ذخیره سازی Firebase
- نمونه های پایگاه داده بیدرنگ Firebase
تنظیمات برای استقرار اهداف در فایل .firebaserc
در فهرست پروژه شما ذخیره می شود، بنابراین شما فقط باید یک بار در هر پروژه اهداف استقرار را تنظیم کنید.
اهداف استقرار را برای میزبانی تنظیم کنید
برای ایجاد یک Deploy target و اعمال TARGET_NAME
در یک سایت میزبانی، دستور CLI زیر را اجرا کنید:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
جایی که پارامترها عبارتند از:
TYPE - نوع منبع Firebase مربوطه
- برای سایت های میزبانی Firebase،
hosting
استفاده کنید.
- برای سایت های میزبانی Firebase،
TARGET_NAME - یک نام منحصر به فرد برای سایت میزبانی که شما در آن مستقر می شوید
RESOURCE_IDENTIFIER -
SITE_ID
برای سایت میزبانی که در پروژه Firebase شما فهرست شده است
برای مثال، اگر دو سایت ( myapp-blog
و myapp-app
) در پروژه Firebase خود ایجاد کردهاید، میتوانید با اجرای دستورات زیر یک TARGET_NAME
(به ترتیب blog
و app
) را برای هر سایت اعمال کنید:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
اهداف استقرار را برای فضای ذخیره سازی ابری یا پایگاه داده بیدرنگ تنظیم کنید
برای ایجاد یک هدف استقرار و اعمال یک TARGET_NAME
در مجموعهای از منابع ذخیرهسازی ابری یا پایگاه داده بیدرنگ، دستور CLI زیر را اجرا کنید:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
جایی که پارامترها عبارتند از:
TYPE - نوع منبع Firebase مربوطه
- برای سطلهای ذخیرهسازی ابری، از
storage
استفاده کنید. - برای نمونه های پایگاه داده بیدرنگ، از
database
استفاده کنید.
- برای سطلهای ذخیرهسازی ابری، از
TARGET_NAME - یک نام منحصر به فرد برای منبع یا گروهی از منابع که قوانین امنیتی را به اشتراک می گذارند
RESOURCE_IDENTIFIER - شناسههای منابعی که در پروژه Firebase فهرست شدهاند (مانند نامهای سطل ذخیرهسازی یا شناسههای نمونه پایگاه داده) که همگی قوانین امنیتی یکسانی دارند.
برای مثال، میتوانید TARGET_NAME
main
را در گروهی از سه سطل فضای ذخیرهسازی ابری منطقهای (که همگی قوانین امنیتی یکسانی دارند) با اجرای دستور زیر اعمال کنید:
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 شما دارای دو سایت میزبانی و سه سطل فضای ذخیرهسازی ابری است (که قوانین امنیتی یکسانی دارند)، فایل 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 \ | تمام منابع یا سایت میزبانی را از هدف مشخص شده حذف می کند |
دستورات target:remove
و target:clear
به طور خودکار تنظیمات deploy target را در فایل .firebaserc
در فهرست پروژه شما به روز می کنند.
قبل از استقرار به صورت محلی تست کنید
هر یک از دستورات زیر را از ریشه دایرکتوری پروژه خود اجرا کنید.
فرمان | شرح |
---|---|
firebase emulators:start | تمام منابع پیکربندی شده در فهرست پروژه شما را شبیه سازی می کند |
firebase emulators:start \ | فقط محتوای هاستینگ و پیکربندی سایت هاست مشخص شده را شبیه سازی می کند |
firebase emulators:start \ | فقط فایل قوانین را برای هدف مشخص شده Cloud Storage شبیه سازی می کند |
firebase emulators:start \ | فقط فایل قوانین را برای هدف پایگاه داده بیدرنگ مشخص شده شبیه سازی می کند |
درباره پیکربندی و استفاده از مجموعه شبیه ساز محلی Firebase بیشتر بیاموزید.
منابع خاص Firebase را مستقر کنید
هر یک از دستورات زیر را از ریشه دایرکتوری پروژه خود اجرا کنید.
فرمان | شرح |
---|---|
firebase deploy | انتشاری از تمام منابع قابل استقرار در فهرست پروژه شما ایجاد می کند |
firebase deploy \ | فقط محتوای هاستینگ و پیکربندی سایت میزبانی مشخص شده را در کانال زنده سایت مستقر می کند. |
firebase hosting:channel:deploy CHANNEL_ID \ | فقط محتوای میزبانی و پیکربندی سایت میزبان مشخص شده را در یک کانال پیش نمایش برای سایت مستقر می کند. |
firebase deploy \ | فقط فایل قوانین را برای هدف مشخص شده Cloud Storage مستقر می کند |
firebase deploy \ | فقط فایل قوانین را برای هدف مشخص شده پایگاه داده بیدرنگ مستقر می کند |