Runbook : app ne démarre pas ou ne répond pas
Le déploiement a réussi mais l'app ne répond pas. Méthode d'investigation, causes probables.
Vérifier l'état des process
$ paas ps:list --app monsite
TYPE COUNT STATE
web 1/2 crash-loop
worker 1/1 running
TYPE COUNT STATE
web 1/2 crash-loop
worker 1/1 running
crash-loop indique que le pod redémarre en boucle. C'est presque toujours un crash applicatif.
Lire les logs runtime
$ paas logs --app monsite --tail
$ paas logs --source web --num 200 --app monsite
$ paas logs --source web --num 200 --app monsite
Causes probables
Variable d'environnement manquante
KeyError: 'STRIPE_SECRET_KEY'
Vérifiez que les secrets et variables sont bien définis :
$ paas config:list --app monsite
$ paas secrets:list --app monsite
$ paas secrets:list --app monsite
Process web qui n'écoute pas sur $PORT
healthcheck failed: connection refused on port 8080
Votre app doit écouter sur le port défini par la variable $PORT, pas sur un port codé en dur. Exemple Express : app.listen(process.env.PORT || 3000).
Base de données injoignable
could not connect to server: Connection refused
Vérifiez l'état du Postgres attaché :
$ paas addons:list --app monsite
$ paas addons:info db-12345
$ paas addons:info db-12345
Commande release qui échoue
release command failed: migrations failed
Si la commande release est défaillante, le déploiement est abandonné. Vérifiez les logs de la release :
$ paas releases:logs v48 --app monsite
Rollback rapide
Si le problème est urgent et que vous ne pouvez pas le diagnostiquer rapidement, ramenez la version précédente :
$ paas releases:rollback v47 --app monsite
✓ rollback v48 → v47 effectué en 18 s
✓ rollback v48 → v47 effectué en 18 s
Vérifier la status page
S'il y a un incident plateforme : status.di2amp.com.