Gérer les déploiements et les versions

Si vous avez activé les déploiements automatiques, chaque fois que vous envoyez un nouveau commit vers la branche active de votre dépôt GitHub, App Hosting déploie automatiquement une nouvelle version de votre application. Vous pouvez vérifier l'état du déploiement dans la console Firebase ou dans la vérification GitHub App Hosting.

De plus, App Hosting permet de déclencher manuellement des déploiements pour l'intégration CI/CD ou tout autre cas où vous souhaitez forcer un déploiement.

Afficher les déploiements

La console Firebase permet d'accéder à des informations détaillées sur tous les déploiements de votre application.

Accédez à Hosting et Serverless > App Hosting, puis sélectionnez Afficher pour le backend dont vous souhaitez consulter les déploiements. L'onglet Déploiements du backend affiche un tableau listant l'historique de tous les déploiements pour ce backend.

Chaque entrée de déploiement contient des liens vers le job Cloud Build et la modification ou le commit qui a déclenché le déploiement, ainsi que des informations de base sur l'auteur, la date de création et l'état du déploiement.

  • Le job Cloud Build est l'environnement de compilation dans lequel App Hosting exécute la commande de compilation de votre application. Vous pouvez accéder aux journaux Cloud Build en cliquant sur l'ID de compilation.
  • La modification correspond au commit GitHub ou à une autre action qui a déclenché le déploiement.

Déclencher manuellement un déploiement

Si vous souhaitez déclencher manuellement un déploiement à partir de votre source GitHub sans envoyer de nouveau commit, vous pouvez créer un déploiement à partir de la console Firebase ou de l'interface de ligne de commande Firebase. Cela peut être utile dans les cas suivants :

  • Forcer la régénération du contenu statique.
  • Autoriser un système CI/CD à déclencher des déploiements.
  • Limiter les déploiements en production à des dates ou heures spécifiques.

Pour déclencher un déploiement dans la console Firebase :

  1. Dans la console Firebase, accédez à Hébergement et sans serveur > Hébergement d'applications.
  2. Cliquez sur Afficher pour le backend pour lequel vous souhaitez créer un déploiement.
  3. Dans le récapitulatif du tableau de bord du backend, sélectionnez Créer un déploiement.
  4. Sélectionnez la branche à déployer.
  5. Sélectionnez le commit à déployer (le dernier ou un commit antérieur spécifié par son ID).
  6. Sélectionnez Créer. L'état et le numéro de version du déploiement s'affichent dans le tableau de l'historique des déploiements. Une fois le processus de déploiement terminé, ce déploiement s'affiche comme le déploiement actuel.

Pour déclencher un déploiement dans la CLI Firebase, exécutez la commande suivante et sélectionnez la branche pour le déploiement lorsque vous y êtes invité :

firebase apphosting:rollouts:create BACKEND_ID

Vous pouvez également lancer un déploiement pour le dernier commit d'une branche spécifique à l'aide de l'option --git-branch :

firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME

Vous pouvez également créer un déploiement avec un commit spécifique à l'aide de l'option --git-commit :

firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID

Restaurer un déploiement précédent

App Hosting vous offre deux options pour restaurer un déploiement précédent :

  • Effectuer un rollback instantanément sans avoir à recompiler
  • Recompiler et revenir à une version précédente

Créer une restauration instantanée

Il peut arriver que vous deviez revenir rapidement à une ancienne version de votre application, par exemple si vous avez découvert un bug critique dans un déploiement récemment effectué ou si vous rencontrez un problème de compilation instable qui bloque les nouveaux déploiements. Dans ce cas, vous pouvez restaurer une image de conteneur existante de votre choix à partir d'un déploiement précédent. Cette image n'est pas recréée, mais utilise le code et la configuration de l'environnement à partir du moment où elle a été créée pour la première fois.

Pour créer une restauration instantanée :

  1. Dans la console Firebase, accédez à Hébergement et sans serveur > Hébergement d'applications.
  2. Cliquez sur Afficher pour le backend pour lequel vous souhaitez créer une restauration.
  3. Sélectionnez l'onglet Déploiements.
  4. Dans le tableau Historique du backend, sélectionnez le menu à trois points d'une version précédente.
  5. Sélectionnez Revenir à ce build, puis confirmez.

Recompiler et effectuer un rollback

Si vous souhaitez revenir à une ancienne version de votre application tout en conservant la configuration actuelle, vous pouvez la recompiler dans le cadre du processus de rétablissement. Par exemple, si votre version la plus récente a mis à jour une valeur de clé API dans Secret Manager, la recompilation peut garantir que la nouvelle clé est utilisée dans votre application après la restauration.

Pour recompiler et effectuer un rollback :

  1. Dans la console Firebase, accédez à Hébergement et sans serveur > Hébergement d'applications.
  2. Cliquez sur Afficher le tableau de bord pour le backend pour lequel vous souhaitez créer une restauration.
  3. Sélectionnez l'onglet Déploiements.
  4. Sélectionnez Créer un déploiement.
  5. Dans la boîte de dialogue Créer un déploiement, sélectionnez Commit antérieur, puis saisissez l'ID du commit pour la version que vous souhaitez recompiler et effectuer un rollback. L'ID de commit fait partie des "Détails de la modification" de chaque déploiement listé dans votre historique des déploiements. Il est indiqué entre parenthèses dans le libellé.
  6. Sélectionnez Créer pour commencer la restauration.

Modifier les paramètres de déploiement

Vous pouvez modifier la branche active pour les déploiements, et activer ou désactiver les déploiements automatiques à l'aide des commandes de la vue Paramètres > Déploiement du tableau de bord pour un backend.

  1. Dans la console Firebase, accédez à Hébergement et sans serveur > Hébergement d'applications.
  2. Cliquez sur Afficher pour le backend dont vous souhaitez modifier les paramètres de déploiement.
  3. Dans le tableau de bord du backend, sélectionnez Paramètres. La vue par défaut affiche des informations sur les domaines et les domaines personnalisés.
  4. Sélectionnez la vue Déploiement. Dans cette vue, vous pouvez modifier la branche active pour les déploiements, et activer ou désactiver les déploiements automatiques. Vous pouvez également définir le répertoire racine de l'application et l'environnement pour le backend (voir Déployer dans plusieurs environnements).

Gérer les déploiements automatiques

Par défaut, App Hosting suppose qu'une liste de tous les fichiers est "requise". Cela signifie que chaque nouveau commit dans votre dépôt déclenche une nouvelle compilation et un nouveau déploiement. Toutefois, pour gagner du temps et éviter les déploiements inutiles, vous pouvez configurer App Hosting pour ignorer les compilations en fonction des chemins d'accès aux fichiers spécifiques modifiés dans un commit.

Vous pouvez le configurer sous Paramètres > Déploiements > Déclencheurs de déploiement. Ici, vous pouvez laisser le champ Chemins requis vide si vous souhaitez que chaque nouveau commit dans votre dépôt déclenche une nouvelle compilation et un nouveau déploiement. Vous pouvez également spécifier exactement quels répertoires ou fichiers doivent toujours déclencher un déploiement. Si vous spécifiez des répertoires, veillez à ajouter tous les chemins où les modifications doivent déclencher un déploiement.

Les répertoires ou fichiers que vous ajoutez à Chemins ignorés ne déclencheront jamais de déploiement automatique. Si un sous-répertoire figure à la fois dans les listes des chemins d'accès requis et ignorés, aucun déploiement automatique ne sera déclenché. Si vous ne renseignez que la liste des chemins ignorés, App Hosting remplira automatiquement les chemins requis avec "*".

Capture d'écran de l'UI décrite sur cette page.

Si vous envoyez un commit dans lequel aucun des fichiers modifiés ne correspond aux chemins requis (ou si toutes les modifications sont explicitement exclues par vos chemins ignorés), App Hosting accusera toujours réception de l'événement GitHub, mais il marquera les états de compilation et de déploiement comme SKIPPED. Aucun déploiement automatique ne sera déclenché.