コンソールへ移動

デプロイ ターゲット

同じ構成を共有する Firebase リソース(たとえば、同じセキュリティ ルールを持つ 2 つの Firebase Realtime Database インスタンス)をデプロイまたは提供するには、Firebase CLI でデプロイ ターゲットを使用します。 firebase.json ファイル内でデプロイ ターゲット名を参照し、関連するリソースの構成を設定できます。

現在、デプロイ ターゲットは Cloud Storage for Firebase と Firebase Realtime Database でサポートされています。

デプロイ ターゲットの適用

デプロイ ターゲットを設定するには、次の項目を指定します。

  • タイプ - デプロイするリソースの Firebase サービス。有効なタイプは、storage(Cloud Storage)または database(Realtime Database)
  • ターゲット名 - デプロイするリソースのグループのユーザー定義名
  • リソース - ストレージ バケット名やデータベース インスタンス名など、ターゲット名に割り当てられたリソースのリスト

デプロイ ターゲットを作成し、リソースのグループにターゲット名を適用するコマンドは、次のような形式になります。

firebase target:apply type target-name resource1-name resource2-name ...

たとえば、3 つのリージョンの Cloud Storage バケット(すべて同じセキュリティ ルールを使用)のグループに main というターゲット名を適用するには、次のコマンドを使用します。

firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja

デプロイ ターゲット用の firebase.json の構成

ターゲット名をリソースに適用した後、そのターゲットを参照するように firebase.json 構成ファイルを変更します。そのためには、構成オブジェクトの配列を作成し、各配列には target(ターゲット名を含む)と関連する構成を指定します。

上記の例を続けると、デプロイ ターゲット main に割り当てられたすべてのストレージ バケットが同じセキュリティ ルールを共有する場合、firebase.json は次のようになります。

{
  "storage": [ {
      "target": "main",
      "rules": "storage.main.rules"
    }
  ]
}

リソースの構成が複数ある場合は、複数のターゲットを作成し、それぞれを firebase.json ファイル内に指定できます。firebase deploy を実行すると、関連するすべてのリソースが一緒にデプロイされます。

デプロイ ターゲットの管理

コマンド 説明
firebase target 現在のプロジェクト ディレクトリのデプロイ ターゲットを一覧表示します。
firebase target:remove type resource-name 割り当てられているターゲットからリソースを削除します。
firebase target:clear type target-name 指定されたターゲットからすべてのリソースを削除します。