Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

サイトのライブおよびプレビューチャネル、リリース、バージョンを管理します

Firebase Hostingは、FirebaseコンソールとFirebase CLIの両方を介して、ホスティングサイトのチャネル、リリース、バージョンを管理するためのツールを提供します。

ホスティングインフラストラクチャの概要

ホスティングインフラストラクチャを理解すると、このページで説明されている管理オプションを理解するのに役立ちます。

すべてのFirebaseプロジェクトは、プロジェクトのすべてのリソース(データベース、認証、関数など)へのアクセスと既定のホスティングサイトがあります。このサイトは、各チャネルが特定のコンテンツとホスティング構成を提供していたURLに関連付けられた1つまたは複数のチャネルを含んでいます。

FirebaseHosting階層の画像

すべてのホスティングサイトでは、コンテンツを提供しています「ライブ」チャンネルと、(1)サイトのFirebaseプロビジョニングのサブドメインでホスティング設定(ありSITE_ID .web.appSITE_ID .firebaseapp.com )及び(2)接続された任意のカスタムドメインを。 (あなたはまた、必要に応じて一時的に、共有可能な「プレビューのURL」で、自分のコンテンツと構成を提供し、「プレビュー」のチャンネルを作成することができますSITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app )。

各チャネルによってサービス内容および構成は、一意の識別子を有するバージョンのオブジェクトにパッケージされています。あなたのサイトにデプロイする場合、Firebaseがリリースオブジェクトを作成し、特定のバージョンを指しています。リリースには、誰が展開したか、いつ展開したかなど、展開に関するメタデータが含まれています。

あなたのFirebaseプロジェクトのよりホスティングダッシュボードには、リリース履歴テーブルにライブチャンネルのリリースの完全な履歴を見ることができます。あなたが持っている場合は、複数のホスティングサイトを、そのリリース履歴を参照したいサイトの表示]クリックします。プレビューチャネルがある場合は、ホスティングダッシュボードにも表示されます。

チャネルの設定を管理する

サイトのチャネルごとに、その設定を制御できます。チャネルの有効期限などの一部の設定は、プレビューチャネルにのみ適用できます。

保持するリリースの数を制限する

チャネルにデプロイする(およびリリースを作成する)たびに、Hostingは前のリリースに関連付けられたバージョンをプロジェクトのHostingストレージに保持します。あなたは、プロジェクト内の各チャンネルごとに、ライブプレビューの両方のチャネルを維持するためにリリースの数を設定することができます。

  • ホスティングが以前のリリースを保持するのはなぜですか?
    あなたのライブチャネルのために、以前のリリースを維持することができますロールバックする必要があれば、あなたのサイトの以前のバージョンに。プレビューチャンネルの場合、ロールバックはまだ利用できません。

  • 保持するリリースの数を制限するのはなぜですか?
    この機能を使用すると、あなたの使用レベルを制御することができ、プロジェクトのホスティングストレージを以前のリリースのためのコンテンツは、このストレージに保管されて、。あなたはからあなたのストレージのホストを監視することができストレージ]タブコンソールインチ

  • 保持するリリースを制限するとどうなりますか?
    あなたが維持するのリリースのための制限を設定すると、お使いの設定された制限を超える任意のリリースの内容は、最初の最も古いリリースから始まる、削除のために予定されています。

チャネルのリリースストレージ制限を設定する方法は次のとおりです。

  1. ではFirebaseコンソール、アクセスリリースストレージ設定]ダイアログ:

    • あなたのライブチャンネルのために
      サイトのリリース履歴テーブルでは、クリック 、その後、リリースストレージ設定を選択します。

    • プレビューチャンネルの場合
      プレビューチャンネルの行では、クリックその後、チャンネル設定を選択し、。

  2. あなたは維持したいのリリースの数を入力し、[保存]クリックします。

プレビューチャネルの有効期限を設定します

デフォルトでは、プレビューチャネルは作成日から7日で有効期限が切れますが、サイトのライブチャネルが期限切れになることはありません。

プレビューチャネルの有効期限が切れると、チャネルは、そのリリースおよび関連するバージョンとともに、24時間以内に削除されるようにスケジュールされます。関連するプレビューURLも非アクティブ化されます。バージョンが別のリリース(あなたが同じサイト内の1つのチャンネルから別のチャンネルへのバージョンのクローンを作成する場合、これは、例えば、たまたま)に関連付けられている場合は、このバージョンの削除には例外があります。

ホスティングは、チャネルの有効期限を制御するための2つの異なる方法をサポートしています。

  • Firebaseコンソール
    プレビューチャンネルの行では、クリックその後、チャンネル設定を選択し、。有効期限の日時を入力します。

  • FirebaseCLI
    あなたは、プレビューチャンネルにデプロイする場合、合格--expires DURATION例えば、フラグ:

    firebase hosting:channel:deploy new-awesome-feature --expires 7d

    有効期限は、展開日から最大30日です。使用h時間、 d日間、およびw (例えば、週間12h7d2w 、それぞれ)。

あるチャネルから別のチャネルにバージョンを複製する

デプロイされたバージョンをあるチャネルから別のチャネルに複製できます。ライブチャンネルやプレビューチャンネル、ホスティングサイト、さらにはFirebaseプロジェクト間でクローンを作成できます。

クローンコマンドは、クローン化されたホスティングコンテンツと設定が自動的に「ターゲット」チャンネルの関連URLで提供していますように、「ターゲット」のチャネルに展開します。

この機能は、バージョントラッキングのためか、あなたが別のチャネル上で閲覧および/またはテストした正確なコンテンツを展開しているという確信をしたい場合に便利です。ここではいくつかの例を示します。

  • 「QA」プレビューチャネルからサイトのライブチャネルに複製します(ライブになります!)

  • サイトのライブチャネルから「デバッグ」プレビューチャネルにクローンを作成します(ロールバック前など)

  • 「ステージング」Firebaseプロジェクトのチャンネルから「本番」Firebaseプロジェクトのプレビューチャンネルにクローンを作成します

バージョンのクローンを作成するには、任意のディレクトリから次のコマンドを実行します。

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

各プレースホルダーを次のように置き換えます。

  • SOURCE_SITE_IDTARGET_SITE_ID :これらは、チャンネルが含まれているホスティングサイトのIDです。

    • デフォルトのホスティングサイトには、FirebaseプロジェクトIDを使用します。
    • 同じFirebaseプロジェクトまたは異なるFirebaseプロジェクトにあるホスティングサイトを指定できます。
  • SOURCE_CHANNEL_IDTARGET_CHANNEL_ID :これらは、チャネル用のidentifersです。

    • ライブチャネルの場合は、使用liveチャンネルIDなど。
    • 指定された「ターゲット」チャネルがまだ存在しない場合、このコマンドは、チャネルにデプロイする前にチャネルを作成します。

以前のバージョンのサイトにロールバックします

ロールバックして、サイトのライブチャネルの以前のバージョンを提供できます。このアクションは、現在のリリースに問題があり、ロールバックしてサイトの既知の動作バージョンを提供する場合に役立ちます。または、おそらくあなたのサイトは休日や特別なイベントのために一時的なコンテンツを提供しましたが、今あなたはあなたの「通常の」コンテンツを提供するためにロールバックしたいと思っています。

ロールバックすることにより、以前のリリースと同じバージョンのコンテンツを提供する新しいリリースを作成します。お使いのリリースの履歴テーブルでは、両方のリリースは、同じバージョン識別子が一覧表示されます。

ロールバックする方法は次のとおりです。

  1. ではFirebaseコンソール、サイトのリリース履歴テーブルでは、あなたがにロールバックすることを、以前のリリースのエントリの上にホバー。

  2. クリック 、その後、ロールバックを選択します。

リリースを手動で削除する

手動で解放するために、あなたのライブチャネルからの解放を削除する必要がありますストレージをホスティングあなたのプロジェクトのために。削除できるのは以前のリリースのみで、現在ライブサイトで提供されているリリースは削除できません。

リリースを削除すると、実際にはそのコンテンツが削除されます。これは24時間以内に削除される予定です。リリースオブジェクト自体は保持されているため、メタデータ(誰がいつデプロイしたか)を引き続き確認できます。

リリースを削除する方法は次のとおりです。

  1. ではFirebaseコンソール、サイトのリリース履歴テーブルで、削除することを以前のリリースのエントリーの上にホバー。

  2. クリック 、[削除]を選択します。

プレビューチャネルを手動で削除する

プレビューチャネルを削除することはできますが、サイトのライブチャネルを削除することはできません。

プレビューチャンネルを削除すると、そのチャンネルとそのリリースおよび関連するバージョンは、24時間以内に削除されるようにスケジュールされます。関連するプレビューURLも非アクティブ化されます。バージョンが別のリリース(あなたが同じサイト内の1つのチャンネルから別のチャンネルへのバージョンのクローンを作成する場合、これは、例えば、たまたま)に関連付けられている場合、バージョンの削除には例外があります。

ホスティングは、プレビューチャネルを削除する2つの異なる方法をサポートしています。

  • Firebaseコンソール
    プレビューチャンネルの行では、クリック [削除チャネルを選択し、。削除を確認します。

  • FirebaseCLI
    任意のディレクトリから次のコマンドを実行します。

    firebase hosting:channel:delete CHANNEL_ID

プレビューチャネルとクローン作成のためのCLIコマンド

プレビューチャネルのコマンド

あなたが持っている場合は、プレビューチャンネルのためのすべてのコマンドは、デプロイの目標をサポートする複数のホスティングサイトを

指示説明
firebase hosting:channel:create CHANNEL_ID

指定された使用して、デフォルトのホスティングサイトに新たなプレビューチャンネルを作成します。 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 hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

指定された「ソース」チャネルに最後にデプロイされたバージョンを、指定された「ターゲット」チャネルに複製します

このコマンドは、指定された「ターゲット」チャネルにも展開されます。 「ターゲット」チャネルがまだ存在しない場合、このコマンドは、チャネルに展開する前に、「ターゲット」ホスティングサイトに新しいプレビューチャネルを作成します。

firebase hosting:clone \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

指定されたバージョンを指定された「ターゲット」チャネルに複製します

このコマンドは、指定された「ターゲット」チャネルにも展開されます。 「ターゲット」チャネルがまだ存在しない場合、このコマンドは、チャネルに展開する前に、「ターゲット」ホスティングサイトに新しいプレビューチャネルを作成します。

あなたは見つけることができますVERSION_IDしてホスティングダッシュボードFirebaseコンソールの。