Pourquoi un simulateur?

Afin d’éviter de rouler les applications de toutes les équipes sur un service cloud, nous avons créé un simulateur de production qui s’occupera de rouler les projets localement.

Comment ça marche?

Chaque fois que vous déposerez une version de votre projet dans Draveur, votre application sera déployée et démarrée par une sorte de simulateur. Celui-ci utilisera votre application de plusieurs manières, comme le feraient des utilisateurs actifs.

:warning: Ces utilisateurs vont mettrent à l’épreuve le bon fonctionnement de votre application. S’ils rencontrent des problèmes inattendues, vous serez pénalisés pour avoir brisé la production.

Note: Autant dans le projet que dans la vraie vie, la production ne doit pas être utilisée pour tester votre application! Normalement, lorsque la production brise, ça devrait vous faire un peu paniquer… 🚨

Activation de fonctionnalités

Vous pouvez contrôler les fonctionnalités à activer en production via votre fichier progress.json. C’est une sorte de Feature Toggle simplifiée dans le contexte académique.

💡 Cela vous donne plus de contrôle sur ce que vous êtes prêt à mettre en production. Sentez-vous donc libre de déployer autant de fois que vous le voulez à l’aide de ce fichier.

Détails techniques de l’environnement

:warning: Cette section est pour les curieux qui veulent en apprendre plus sur le fonctionnement du simulateur.

Afin de standardiser l’environnement de déploiement entre toutes les équipes, nous utiliserons Docker pour créer une image qui va contenir les fichiers compilés de votre application. Une fois démarré, le container Docker utilisera Maven pour rouler le serveur de votre application.

Note: Si vous désirez essayer de rouler votre code sur les mêmes images docker que nous utiliserons, essayez ces commandes:

docker build -t application-glo4002 .
docker run -p 8080:8080 -p 8181:8181 application-glo4002