Orbit

Déploiements en aperçu de branche dans Orbit

Branch previews build every non-production, non-staging branch you push to its own isolated URL, so you can click through a change in a real environment before it merges. This guide covers turning…

Aperçu des branches dans Orbit

Les aperçus de branches créent une version pour chaque branche de non-production et non-staging que vous poussez vers sa propre URL isolée, ce qui vous permet de vérifier une modification dans un environnement réel avant sa fusion. Ce guide couvre l'activation des aperçus, la provenance des URL, le nettoyage des aperçus et la prévention des fuites de secrets de production par les builds d'aperçu.

Activation des aperçus de branches

  1. Ouvrez votre projet dans Orbit.
  2. Ouvrez l'onglet Settings.
  3. Trouvez la section Runtime et activez Branch previews.

Une fois activés, chaque push vers une branche qui n'est ni votre branche de production ni votre branche de staging déclenche une génération et la déploie vers son propre environnement d'aperçu.

Branch previews toggle in Orbit project settings

Les aperçus de branches sont un commutateur par projet, pas un module complémentaire payant. Ils sont disponibles sur tous les plans Orbit, y compris le plan Launch gratuit. Ce qui diffère selon le plan, c'est le nombre d'environnements qu'un seul projet peut avoir à la fois : Launch en permet 2 (production plus un aperçu), Liftoff 4 et Apex 11. Une fois qu'un projet atteint sa limite d'environnements, les branches supplémentaires n'obtiendront pas leur propre aperçu jusqu'à ce que vous en supprimiez un.

URL d'aperçu

Un aperçu obtient un nom d'hôte dérivé de son nom de branche : le nom est converti en minuscules, chaque caractère qui n'est pas une lettre, un chiffre ou un tiret devient un tiret, les séries de tirets s'effondrent, et le résultat est tronqué à 48 caractères et préfixé par branch-.

BrancheNom d'hôte d'aperçu
redesignbranch-redesign.kaps.run
feat/new-checkoutbranch-feat-new-checkout.kaps.run
JB/Fix_Cartbranch-jb-fix-cart.kaps.run

Les URL d'aperçu sont publiquement accessibles à toute personne ayant le lien. Elles ne sont pas indexées ni annoncées, mais elles ne sont pas protégées par un contrôle d'accès. N'utilisez pas un aperçu pour examiner quoi que ce soit qui ne doit pas quitter votre équipe, et ne pointez pas un aperçu vers des données de production. Si vous avez besoin d'un environnement de pré-production protégé, utilisez un environnement de staging à la place : le staging prend en charge un mot de passe et une liste blanche IP dans Settings, dans les sections Staging: access protection et Staging: IP allowlist.

Où apparaissent les aperçus

L'onglet Overview du projet contient une section Preview deployments listant chaque aperçu actif. Chaque ligne affiche :

  • Le nom de la branche, et un badge PR #number liant vers la demande de tirage quand la branche en a une ouverte
  • Le statut actuel (QUEUED, BUILDING ou en ligne)
  • Le temps écoulé depuis son déploiement
  • Un lien pour ouvrir l'URL d'aperçu
  • View logs pour ouvrir la page de détail du déploiement
  • Un bouton de suppression

Chaque aperçu est un environnement entièrement isolé avec sa propre URL, sa propre génération et ses propres variables d'environnement. Rien de ce qu'il fait ne peut affecter la production.

L'onglet Branches du projet fournit les mêmes informations organisées par branche, ce qui est plus facile à scanner quand vous en avez plusieurs ouvertes à la fois.

Variables d'environnement dans les aperçus

C'est la partie qui mérite d'être bien faite. Une variable scoped à All environments (project-wide) est injectée dans les builds d'aperçu, et une URL d'aperçu est publique.

  • Maintenez les credentials de production scoped à votre environnement de production uniquement.
  • Donnez aux aperçus des credentials en mode test ou sandbox pour les services tiers.
  • Ne laissez jamais une URL de base de données de production ou une clé de paiement en direct au scope du projet.

Les mécanismes complets, y compris comment ajouter une variable production-only et le fonctionnement de l'héritage du staging, sont dans Setting Environment Variables Per Environment.

Journaux de génération pour un aperçu

Cliquez sur View logs à côté de n'importe quel aperçu pour ouvrir sa page de détail de déploiement. Les aperçus reçoivent le même traitement que les déploiements de production : journaux de génération complets en streaming, phases de génération, commit et auteur, taille d'artefact, succès du cache ou génération à froid, framework détecté et gestionnaire de paquets, et le bouton de diagnostic IA quand une génération échoue.

Suppression d'un aperçu

Cliquez sur le bouton de suppression sur la ligne d'aperçu et confirmez.

La suppression d'un aperçu supprime l'environnement et tout son historique de génération, pas seulement le déploiement actuel. Cela ne peut pas être annulé. La branche elle-même n'est pas touchée, donc la pousser à nouveau crée un aperçu frais à partir de zéro, sans historique et avec un cache de génération à froid.

Nettoyage automatique

Vous n'avez pas besoin de vous nettoyer après vous-même.

  • Quand une demande de tirage est fermée ou fusionnée, son environnement d'aperçu est pausé immédiatement et cesse de servir. Les visiteurs reçoivent un 404 plutôt qu'une génération obsolète.
  • Supprimer une branche pause l'aperçu de cette branche de la même manière.
  • Les aperçus paused sont garbage-collectés environ un jour plus tard : les tarballs source, les artefacts de génération et les caches de génération sont supprimés et l'environnement est archivé.

Vous pouvez également faire expirer les aperçus selon un calendrier. Dans Settings, trouvez Preview expiry et choisissez Never, 7, 14, 30 ou 60 days. Les aperçus plus anciens que cela sont paused automatiquement et nettoyés dans les 24 heures.

Sur un référentiel occupé, définissez Preview expiry sur 14 ou 30 days. Chaque aperçu actif compte par rapport à la limite d'environnements de votre projet, et les aperçus expirés sont la raison habituelle pour laquelle une nouvelle branche échoue silencieusement à obtenir un aperçu.

Approbation et aperçus

Si Require approval for production est activé sous Deploy protection, cela s'applique à la production uniquement. Les builds d'aperçu ne sont pas maintenus en attente d'approbation.

Pour empêcher un aperçu spécifique de déployer d'autres modifications sans le supprimer, pausez l'environnement depuis l'onglet Environments. Les nouveaux déploiements vers un environnement paused sont ignorés jusqu'à ce que vous le repreniez.

Dépannage

Une branche a été poussée mais aucun aperçu n'a apparu. Vérifiez, dans l'ordre : Branch previews est-il activé dans Settings, puis Runtime ? La branche est-elle réellement votre branche de staging (le staging déploie vers le staging, pas vers un aperçu) ? La branche correspond-elle à l'un de vos Branch ignore patterns, par exemple dependabot/* ? Le projet est-il déjà à sa limite d'environnements pour votre plan ?

L'aperçu a été construit mais affiche un 404. La génération a réussi mais le répertoire de sortie est probablement incorrect pour cette branche. Vérifiez Output directory dans Settings, et n'oubliez pas qu'une branche peut changer la sortie de génération sans changer le paramètre. Voir Configuring Your Build Command and Output Directory.

L'aperçu affiche un commit plus ancien. Pousser un nouveau commit tandis qu'une génération pour la même branche s'exécute encore annule la génération en vol et en démarre une nouvelle. Si vous voyez un déploiement annulé suivi d'un en cours d'exécution, c'est attendu. Attendez la deuxième génération.

L'aperçu d'une PR fermée est toujours accessible. La pause se produit sur l'événement webhook. Si la connexion du fournisseur était déconnectée quand vous avez fermé la PR, l'événement n'est jamais arrivé. Supprimez manuellement l'aperçu depuis l'onglet Overview.

Lectures connexes

Vous avez besoin d'aide?

Envoyez-nous un email à support@kapsulehost.com ou ouvrez un chat dans KPanel.

Ouvrir KPanel