Ir para o console

Implantar destinos

Destinos de implantação são identificadores de nome abreviado (definidos por você) para recursos no seu projeto do Firebase, como um site do Hosting com ativos estáticos exclusivos ou um grupo de instâncias do Realtime Database que compartilham as mesmas regras de segurança.

Os destinos de implantação são úteis quando você tem vários sites do Hosting, vários intervalos do Cloud Storage ou várias instâncias do Realtime Database. Com esses identificadores, a Firebase CLI pode implantar configurações em um recurso ou grupo de recursos específicos do Firebase no seu projeto, incluindo os seguintes:

  • configuração de hospedagem para cada um dos seus sites do Hosting
  • recursos estáticos do diretório do seu projeto para cada um dos seus sites do Hosting
  • regras de segurança compartilhadas por várias instâncias do Realtime Database ou vários intervalos do Cloud Storage

Siga estas etapas para configurar um destino de implantação:

  1. Aplique um nome de destino ao recurso de destino do Firebase ou grupo de recursos do Firebase.
  2. No arquivo firebase.json, faça referência ao nome de destino associado ao definir as configurações de cada recurso ou grupo de recursos.

Quando você executa os comandos da Firebase CLI (como firebase deploy), a plataforma vincula os nomes de destino aos recursos associados do Firebase. Em seguida, a CLI informa as configurações de cada recurso ao seu projeto do Firebase.

Configurar destinos de implantação para os recursos do Firebase

Usando a Firebase CLI, aplique um nome de destino (identificador de nome abreviado definido por você) a um recurso do Firebase ou a um grupo de recursos do Firebase. O Firebase é compatível com destinos de implantação para os seguintes elementos:

As configurações para os destinos de implantação são armazenadas no arquivo .firebaserc no diretório do projeto. Dessa forma, você só precisa configurar os destinos de implantação uma vez por projeto.

Configurar destinos de implantação para o Hosting

Para criar um destino de implantação e aplicar um nome de destino a um site do Hosting, execute o seguinte comando da CLI:

firebase target:apply type target-name resource-name

Em que os parâmetros são os seguintes:

  • type: o tipo de recurso relevante do Firebase

    • Para sites do Firebase Hosting, use hosting.
  • target-name: um identificador exclusivo para o site do Hosting em que as implantações serão realizadas

  • resource-name: o nome do site do Hosting conforme listado no seu projeto do Firebase

Por exemplo, se você criou dois sites (myapp-blog e myapp-app) no seu projeto do Firebase, será possível aplicar um nome de destino único a cada site (blog e app, respectivamente) ao executar os comandos a seguir:

firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app

Configurar destinos de implantação para o Cloud Storage ou o Realtime Database

Para criar um destino de implantação e aplicar um nome de destino aos recursos do Cloud Storage ou Realtime Database, execute o seguinte comando da CLI:

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

Em que os parâmetros são os seguintes:

  • type: o tipo de recurso relevante do Firebase

    • Para os intervalos do Cloud Storage, use storage.
    • Para instâncias do Realtime Database, use database.
  • target-name: um identificador exclusivo para o recurso ou grupo que compartilham regras de segurança

  • resource-name: os nomes dos recursos listados no seu projeto do Firebase (como nomes de intervalos de armazenamento ou nomes de instâncias de banco de dados) que compartilham regras de segurança

Por exemplo, você pode aplicar o nome de destino main a um grupo de três intervalos regionais do Cloud Storage que compartilham as mesmas regras de segurança executando o seguinte comando:

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

Configurar seu arquivo firebase.json para usar destinos de implantação

Após configurar destinos de implantação para seus recursos do Firebase, faça referência aos target-names aplicados no seu arquivo de configuração firebase.json:

  1. Crie uma matriz de objetos de configuração para cada tipo de recurso do Firebase (hosting, storage ou database).
  2. Nas matrizes, especifique o target (usando o nome de destino) e defina suas configurações para o recurso ou grupo de recursos associados do Firebase.

Continuando com os exemplos acima, em que seu projeto do Firebase tem dois sites do Hosting e três intervalos do Cloud Storage que compartilham as mesmas regras de segurança, seu arquivo firebase.json seria assim:

{
  "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 Storage buckets
      "rules": "storage.main.rules"  // the file that contains the shared security rules
    }
  ]
}

Se você tiver várias configurações para seus recursos, poderá criar vários destinos de implantação e especificar cada um deles no arquivo firebase.json. Todos os recursos associados serão implantados juntos quando você executar o comando firebase deploy.

Implantar recursos específicos do Firebase usando destinos de implantação

Execute qualquer um dos comandos a seguir a partir da raiz do diretório do seu projeto.

Comando Descrição
firebase deploy Cria uma versão de todos os recursos implantáveis no diretório do seu projeto
firebase deploy --only hosting:target-name Cria uma versão apenas dos recursos para o destino especificado do Hosting
firebase deploy --only storage:target-name Implanta apenas o arquivo de regras para o destino especificado do Cloud Storage
firebase deploy --only database:target-name Implanta apenas o arquivo de regras para o destino especificado do Realtime Database

Execute um dos comandos a seguir para testar seu site localmente antes de fazer a implantação no projeto do Firebase:

firebase serve
firebase serve --only hosting:target-name

Gerenciar destinos de implantação

As configurações para os destinos de implantação são armazenadas no arquivo .firebaserc no diretório do projeto. Você pode gerenciar os destinos de implantação do seu projeto ao executar qualquer um dos seguintes comandos da raiz do diretório do seu projeto.

Comando Descrição
firebase target Lista os destinos de implantação para o diretório do seu projeto atual.
firebase target:remove type resource-name Remove um recurso do destino ao qual foi atribuído.
firebase target:clear type target-name Remove todos os recursos ou o site do Hosting do destino especificado

Os comandos remove e clear atualizam automaticamente as configurações de destino de implantação no arquivo .firebaserc no diretório do projeto.