5. Exploitation - NoSchool2K20/3ServiceForum_Back GitHub Wiki

Exploitation

CI

L'historique du CI

Nous avons tout d'abord voulu utiliser TravisCI une solution OpenSource est plébiscité par le client avec un CD sur Heroku. Cependant après plusieurs semaines de configuration et d'installation de Travis puis d'Heroku, ce duo ne fonctionnait toujours pas. Le build sur Travis fonctionne correctement, l'intégration sur Heroku se déroule correctement mais l'application se stoppe au bout d'une minute.

La solution pour le CI

Nous avons fait le choix de passer par CircleCI. Nous avons choisi CircleCI car nous ne connaissions pas cette solution et nous voulions apprendre un nouvel outil. De plus CircleCI s'inscrit très bien avec l'outil CleverCloud en tant que CD.

Nous avons défini dans CircleCI le workflow suivant :

  • build : Qui va builder le projet et vérifier qu'il ne comporte pas d'erreur.
  • newman-collection-test : Cette commande va exécuter les tests Postman que nous avons défini. Le prérequis pour exécuter la commande est la bonne exécution de la commande build.
  • deploy : Cette commande va déployer l'application sur CleverCloud. Le prérequis pour exécuter la commande est la bonne exécution de la commande newman-collection-test.

CD

L'historique du CD

Nous avons voulu tout d'abord utilisé Heroku de part la licence gratuite que nous possédons mais aussi la multitude d'outil et de documentation que possède Heroku. Cependant avec l'utilisation de ReasonML nous avons jamais réussi à utiliser l'application malgré un déploiement qui se fait correctement et des logs corrects. Nous n'avons pas trouvé la root cause et afin de ne pas perdre de temps nous avons changé d'outil.

La solution pour le CD

Nous avons testé de déployer la même application sur CleverCloud et elle a toute suite fonctionné sans configuration particulière. Nous avons donc choisi CleverCloud pour sa facilité d'utilisation et de mise en place ainsi que son intégration parfaite avec notre outil de CI : CircleCI.