Preview environments par PR

Une URL et un environnement isolé pour chaque pull request. Déployé automatiquement, détruit au merge.

Activer les previews

Dans les paramètres de votre app, activez l'intégration GitHub ou GitLab. Sélectionnez le dépôt source, autorisez l'app GitHub.

$ paas previews:enable --app monsite --repo moncompte/monsite
✓ webhook GitHub configuré

Cycle de vie d'un preview

  1. Une PR est ouverte → la plateforme reçoit le webhook
  2. Une nouvelle app éphémère est créée : monsite-pr-42.runtime.di2amp.com
  3. Les addons configurés (par défaut : copies starter de Postgres et Valkey) sont provisionnés
  4. L'URL est postée en commentaire sur la PR
  5. Chaque push sur la branche redéploie automatiquement
  6. Au merge ou à la fermeture, l'app et ses addons sont détruits

Addons sur les previews

Par défaut, les previews provisionnent des addons en plan starter (et le coût n'est facturé qu'à la durée d'usage). Configurable :

[previews]
addons = ["postgres-starter", "valkey-starter"]
seed_data = true # lance une commande de seed
auto_destroy_after = "7d"

Seed data

Pour qu'un preview soit utile, il faut souvent des données de test. La commande seed_data est lancée après le provisionnement :

[previews]
seed_command = "python manage.py loaddata fixtures/preview.json"

Restreindre l'accès aux previews

Par défaut, les previews sont accessibles à toute personne ayant l'URL. Pour restreindre :

[previews]
auth = "team" # seuls les membres de l'org peuvent accéder
# ou auth = "basic" avec basic auth