Déployer un environnement de staging
Flux reproductible pour déployer sur staging de manière sécurisée.
Cible démo : dossier ex_staging/ (staging local simulé — aucun cloud réel).
Étapes
cdvers la cible (ex_stagingou le chemin mentionné avec@).- Vérifie l'arborescence git de la cible :
git status --porcelain -- .(depuis ce dossier) ougit status --porcelain -- ex_staging. S'il y a des modifications non commit dans la cible, STOPPE et préviens. (Les modifications dans d'autres dossiers du monorepo du cours peuvent être ignorées après avertissement.) - Exécute les tests :
npm test. En cas d'échec, STOPPE et affiche la sortie. - Construit :
npm run build. En cas d'échec, STOPPE. - Demande une confirmation humaine avant de déployer (action externe / irréversible en production). N'exécute pas le déploiement avant un OK explicite de l'utilisateur dans ce chat.
- Après OK :
npm run deploy:staging(équivaut ànode scripts/deploy.mjs staging).- Dans cette démo, cela démarre un serveur local et écrit
.staging-url. - Dans un dépôt réel, remplace par
./scripts/deploy.sh stagingou ton pipeline.
- Dans cette démo, cela démarre un serveur local et écrit
- Smoke check : lit
.staging-urlet appelleGET {url}/health(curl,Invoke-WebRequest, oufetch). Doit retourner HTTP 200 etok: true. - Résumé : ce qui a été déployé, URL, résultat du smoke test. Mentionne
npm run staging:stoppour arrêter la démo.
Règles
- Ne jamais déployer avec des tests en échec ou la cible sale.
- Ne jamais déployer sans demande/confirmation humaine explicite (barrière de transfert).
- Affiche toujours la sortie réelle de chaque commande.
- N'utilise pas
staging.example.comdans ce dépôt — le smoke check est effectué contre l'URL locale de.staging-url.