Gérer les déploiements et les versions

Si les déploiements automatiques sont activés, chaque fois que vous envoyez un nouveau commit dans 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 prend en charge les déploiements déclenchés manuellement 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. Dans App Hosting, sélectionnez Afficher pour le backend dont vous souhaitez voir les déploiements. L'onglet Déploiements du backend affiche un tableau contenant l'historique de tous les déploiements de ce backend.

Chaque entrée de déploiement contient des liens vers la tâche Cloud Build et la modification ou le commit ayant 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.

  • La tâche 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 à toute autre action ayant 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 pousser un nouveau commit, vous pouvez créer un déploiement à partir de la console Firebase ou de la CLI Firebase. Cela est utile dans les cas suivants:

  • Forcer la régénération du contenu statique.
  • Permettre à un système CI/CD de 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 App Hosting, sélectionnez Afficher pour le backend pour lequel vous souhaitez créer un déploiement.
  2. Dans le résumé du tableau de bord du backend, sélectionnez Créer un déploiement.
  3. Sélectionnez la branche à déployer.
  4. Sélectionnez le commit à déployer, soit le dernier commit, soit un commit précédent spécifié par son ID de commit.
  5. Sélectionnez Créer. L'état et un numéro de build du déploiement s'affichent dans le tableau de l'historique du déploiement. Une fois le processus de déploiement terminé, ce déploiement s'affiche comme déploiement en cours.

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 du dernier commit pour 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:

  • Rétablir instantanément sans recréer
  • Recréer et revenir à une version précédente

Créer un rollback instantané

Il peut arriver que vous deviez rapidement revenir à une ancienne version de votre application, par exemple si vous avez détecté un bug critique dans un déploiement nouvellement déployé ou si vous rencontrez un build 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 de la première création.

Pour créer un rollback instantané:

  1. Dans App Hosting, sélectionnez Afficher pour le backend pour lequel vous souhaitez créer un rollback.
  2. Sélectionnez l'onglet Déploiements.
  3. Dans le tableau Historique du backend, sélectionnez le menu à trois points pour un build précédent.
  4. Sélectionnez Revenir à ce build, puis confirmez.

Recréer et effectuer un rollback

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

Pour recompiler et effectuer un rollback:

  1. Dans App Hosting, sélectionnez Afficher le tableau de bord pour le backend pour lequel vous souhaitez créer un rollback.\
  2. Sélectionnez l'onglet Déploiements.
  3. Sélectionnez Créer un déploiement.
  4. Dans la boîte de dialogue Créer un déploiement, cochez Commit précédent, puis saisissez l'ID de commit de la version que vous souhaitez recompiler et à laquelle revenir. L'ID de commit fait partie des "Détails de la modification" pour chaque déploiement listé dans votre historique des déploiements,et est indiqué entre parenthèses dans l'étiquette.
  5. Sélectionnez Créer pour commencer le rollback.

Modifier les paramètres de déploiement

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

  1. Dans App Hosting, sélectionnez Afficher pour le backend dans lequel vous souhaitez modifier les paramètres de déploiement.
  2. 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.
  3. Sélectionnez la vue Déploiement. Dans cette vue, vous pouvez modifier la branche en ligne pour les déploiements, et désactiver ou activer les déploiements automatiques. Vous pouvez également définir le répertoire racine de l'application et l'environnement du backend (voir Déploiement dans plusieurs environnements).