Destinos de implementación

Los destinos de implementación son identificadores con nombres cortos (que defines tú mismo) para los recursos de Firebase de tu proyecto en la plataforma, como sitios de Hosting con recursos estáticos únicos o grupos de instancias de Realtime Database que comparten las mismas reglas de seguridad.

Los destinos de implementación son útiles cuando tienes varios sitios de Hosting, varios depósitos de Cloud Storage o varias instancias de Realtime Database. Con estos destinos, Firebase CLI puede implementar una configuración en un recurso o grupo de recursos específico de Firebase de tu proyecto, por ejemplo:

  • La configuración de alojamientos para cada sitio de Hosting
  • Recursos estáticos del directorio de tu proyecto para cada uno de tus sitios de Hosting
  • Reglas de seguridad de varias instancias de Realtime Database o varios depósitos de Cloud Storage

Sigue estos pasos para configurar un destino de implementación:

  1. Aplica un parámetro target-name al recurso de Firebase de destino o al grupo de recursos de Firebase.
  2. En el archivo firebase.json, crea una referencia al parámetro target-name asociado cuando configures cada recurso o grupo de recursos.

Cuando ejecutas los comandos de Firebase CLI (como firebase deploy), Firebase CLI sincroniza los parámetros target-name con los recursos asociados de Firebase. Luego, la CLI informa a tu proyecto de Firebase la configuración de cada recurso.

Configura destinos de implementación para tus recursos de Firebase

Con Firebase CLI, aplica un target-name (identificador con nombre corto que defines tú mismo) a un recurso o grupo de recursos de Firebase. Firebase admite destinos de implementación para lo siguiente:

La configuración para los destinos de implementación se almacena en el archivo .firebaserc del directorio de tu proyecto, de manera que solo es necesario configurar destinos de implementación una vez por proyecto.

Cómo configurar destinos de implementación para Hosting

Para crear un destino de implementación y aplicar un target-name a un sitio de Hosting, ejecuta el siguiente comando de la CLI:

firebase target:apply type target-name resource-name

Los parámetros correspondientes son los siguientes:

  • type es el tipo de recurso de Firebase correspondiente.

    • Para los sitios de Firebase Hosting, usa hosting.
  • target-name es un identificador único para el sitio de Hosting en el que realizas la implementación.

  • resource-name es el nombre del sitio de Hosting tal como aparece en tu proyecto de Firebase.

Por ejemplo, si creaste dos sitios (myapp-blog y myapp-app) en el proyecto de Firebase, puedes aplicar un parámetro target-name único a cada sitio (blog y app, respectivamente) mediante la ejecución de los siguientes comandos:

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

Configura destinos de implementación para Cloud Storage o Realtime Database

Para crear un destino de implementación y aplicar un target-name a los recursos de Cloud Storage o Realtime Database, ejecuta el siguiente comando de la CLI:

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

Los parámetros correspondientes son los siguientes:

  • type es el tipo de recurso de Firebase correspondiente.

    • Para los depósitos de Cloud Storage, usa storage.
    • Para las instancias de Realtime Database, usa database.
  • target-name es un identificador único para el recurso o grupo de recursos que comparten reglas de seguridad.

  • resource-name es el nombre de cada recurso tal como aparece en tu proyecto de Firebase (como nombres de depósitos de almacenamiento o nombres de instancias de bases de datos) que comparten reglas de seguridad.

Por ejemplo, puedes aplicar el parámetro target-name de main a un grupo de tres depósitos regionales de Cloud Storage (que compartan las mismas reglas de seguridad) mediante la ejecución del siguiente comando:

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

Configura tu archivo firebase.json para usar destinos de implementación

Después de configurar los destinos de implementación para tus recursos de Firebase, haz una referencia a los parámetros target-name aplicados en tu archivo de configuración firebase.json:

  1. Crea una matriz de objetos de configuración para cada type de recurso de Firebase (hosting, storage o database).
  2. En las matrices, especifica el target (con el parámetro target-name) y define la configuración del recurso o grupo de recursos de Firebase asociados.

Siguiendo con los ejemplos anteriores, si tu proyecto de Firebase tiene dos sitios de Hosting y tres depósitos de Cloud Storage (que comparten las mismas reglas de seguridad), tu archivo firebase.json se verá como se muestra a continuación:

{
  "hosting": [ {
      "target": "blog", // "blog" is the applied target-name for the Hosting site myapp-blog.
      "public": "blog/dist"
    },
    {
      "target": "app", // "app" is the applied target-name for the Hosting site myapp-app
      "public": "app/dist",
      "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
    }
  ]
}

Si tienes varias configuraciones para tus recursos, puedes crear varios destinos de implementación y especificar cada uno en el archivo firebase.json. Todos los recursos asociados se implementarán juntos cuando ejecutes firebase deploy.

Cómo implementar recursos específicos de Firebase con los destinos de implementación

Ejecuta cualquiera de los siguientes comandos desde la raíz del directorio de tu proyecto:

Comando Descripción
firebase deploy Crea una liberación de todos los recursos del directorio del proyecto que pueden implementarse.
firebase deploy --only hosting:target-name Crea una liberación solo de los recursos del destino de Hosting especificado.
firebase deploy --only storage:target-name Solo implementa el archivo de reglas para el destino de Cloud Storage especificado.
firebase deploy --only database:target-name Solo implementa el archivo de reglas para el destino de Realtime Database especificado.

Ejecuta cualquiera de los siguientes comandos para probar tu sitio de forma local antes de implementar tu proyecto de Firebase:

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

Cómo administrar destinos de implementación

La configuración de los destinos de implementación se almacena en el archivo .firebaserc del directorio de tu proyecto. Puedes administrar los destinos de implementación de tu proyecto mediante la ejecución de cualquiera de los siguientes comandos desde la raíz del directorio de tu proyecto.

Comando Descripción
firebase target Crea una lista de destinos de implementación para el directorio de tu proyecto actual.
firebase target:remove type resource-name Quita un recurso del destino al cual se asigna.
firebase target:clear type target-name Quita todos los recursos o el sitio de Hosting del destino especificado.

Los comandos remove y clear actualizan automáticamente la configuración del destino de implementación en el archivo .firebaserc del directorio de tu proyecto.

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.