Un environnement de prévisualisation pour chaque pull request

Un environnement de prévisualisation est une copie complète de votre application, déployée depuis une pull request, sur sa propre URL. Les relecteurs cliquent sur un lien au lieu de récupérer la branche, et les équipes produit et design vérifient un changement avant sa fusion. Ce guide le met en place en une dizaine de minutes.

Installer la CLI

La CLI sert à lier le dépôt et à tester la configuration en local.

npm install -g @cloud/cli

Connectez-vous, puis liez le projet à la racine du dépôt :

bash
cloud login
cloud link --project web-frontend

Activer les prévisualisations

Le fichier du projet se trouve à la racine du dépôt, à côté de package.json :

  • db/
    • seed.sql
  • src/
    • …
  • cloud.config.tsprévisualisations et services
  • package.json

Les prévisualisations se configurent dans le fichier du projet. Le bloc previews indique quelles branches en obtiennent une, quelles variables d’environnement elles utilisent, et combien de temps elles restent en ligne après la fermeture de la pull request.

cloud.config.ts
import { defineConfig } from "@cloud/cli";

export default defineConfig({
  service: "web-frontend",
  previews: {
    branches: ["*", "!main"],
    env: "preview",
    expireAfter: "3d",
  },
});

Commitez le fichier et ouvrez une pull request. La première prévisualisation se construit aussi vite qu’un déploiement normal, et le bot publie l’URL en commentaire.

Ouvrir la prévisualisation depuis le tableau de bord

Appuyez sur ⌘ K dans le tableau de bord et tapez le numéro de la pull request pour ouvrir directement sa prévisualisation.

Donner à chaque prévisualisation ses propres données

Une prévisualisation qui écrit dans la base de staging n’est pas vraiment isolée. Ajoutez une branche de base de données pour que chaque prévisualisation parte d’une copie du schéma et d’un petit jeu de données :

cloud.config.ts
previews: {
  branches: ["*", "!main"],
  env: "preview",
  database: { branchFrom: "staging", seed: "./db/seed.sql" },
},

Les branches de base de données sont en copie sur écriture : en créer une prend quelques secondes, quelle que soit la taille de la base parente.

Nettoyer

Quand la pull request est fusionnée ou fermée, la prévisualisation et sa branche de base de données sont supprimées après expireAfter. Pour en supprimer une plus tôt :

bash
cloud previews delete --pr 142

C’est tout. Désormais, chaque pull request a son lien, et rien ne reste en ligne après sa fermeture.

Partager :

Écrit par

Sam Carter

Developer advocate

Sam écrit les guides et transforme les questions du support en tutoriels pas à pas sur les previews, les déploiements et le travail en équipe.

Newsletter

Nos notes d'ingénierie, une fois par mois

Les nouveautés marquantes, des analyses de l'équipe plateforme et des guides utilisables le jour même. Sans spam.

gats-fo-lex

Désinscription à tout moment. Consultez notre politique de confidentialité.

Offre gratuite · Sans carte bancaire

Poussez votre code aujourd'hui. En ligne avant que votre café refroidisse.

Connectez un dépôt, choisissez une région et obtenez une URL de production avec HTTPS, logs et autoscaling déjà activés.

$ git push origin main

  1. Build34 s
  2. Déploiement12 s
  3. Contrôles de santé3 s

your-app.example.com

Buy NowTheme Details