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é
✓ webhook GitHub configuré
Cycle de vie d'un preview
- Une PR est ouverte → la plateforme reçoit le webhook
- Une nouvelle app éphémère est créée :
monsite-pr-42.runtime.di2amp.com - Les addons configurés (par défaut : copies starter de Postgres et Valkey) sont provisionnés
- L'URL est postée en commentaire sur la PR
- Chaque push sur la branche redéploie automatiquement
- 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"
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"
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
auth = "team" # seuls les membres de l'org peuvent accéder
# ou auth = "basic" avec basic auth