Jusqu’à maintenant, vous avez déployé vos applications en utilisant Heroku. C’est bien ! Mais la plupart des sociétés n’utilisent pas Heroku, pas par mépris pour cette belle entreprise mais plutôt car elles préfèrent gérer elles-mêmes leur déploiement.
Il s’agit d’une étape très importante dans la vie d’un projet ! Allez, c’est parti !
Avant de mettre en ligne un projet, il est de bon ton de lancer un serveur en local pour s’assurer que tout se passe bien.
Incassable, incassable !
Vous souvenez-vous des avantages de l’intégration continue ? Entre autre, cette méthodologie vous permet d’intégrer de nouvelles fonctionnalités à un projet en courant le moins de risques possibles. Les tests que vous avez écrits sont exécutés à chaque nouveau push. Si les tests échouent, une alerte s’affiche et rien n’est déployé.
Il existe de nombreux outils d’intégration continue mais mon chouchou, je dois bien l’avouer, est Travis (suivez le guide ). Pas à cause de son petit nom, de ses moustaches affriolantes ou de son chapeau si hipster (quoique…), mais plutôt en raison de sa simplicité.
Néanmoins, sachez que vous pouvez utiliser l’outil qui vous sied le mieux.
Tous vos tests sont verts et le build fonctionne ? Parfait ! Maintenant, déployez votre application en utilisant l’hébergeur que vous souhaitez. Vous devez configurer le serveur et effectuer un déploiement en ligne de console. N’utilisez pas Heroku ;-)
Votre application est en ligne. Bravo ! Mais que se passe-t-il si le serveur tombe en panne ? Utilisez Sentry pour lire tous les logs et NewRelic pour surveiller le bon fonctionnement de votre application.
Créez une tâche Cron qui mettra à jour les éléments récupérés d’Open Food Facts une fois par semaine.
Dernière étape (optionnelle) ! Achetez un nom de domaine et reliez-le à vos serveurs.
Démarche - Démarche
Crontab - Crontab
Monitoring - Monitoring
Monitoring - monitoring
Monitoring - Alertes - Alertes
Travis-CI - Travis-CI
Sentry - Sentry
Init_db - Initialisation BdD
Docker-Hub - Dashboard Docker-Hub
Docker_maj - Mise a jour conteneurs docker
Monitor.sh - Monitoring services (script)
Présentation - Présentation
Application - Application