Continuous Integration / Continuous Delivery

Vous avez créé votre formidable site (avec la technologie de vos rêves). Maintenant il faut le déployer, en passant par les différents environnements, en production.

Alors on peut toujours le faire à l’ancienne avec un bon (S)FTP ou avec SSH mais nous allons étudier ici des méthodes plus automatisées et qui surtout vont aussi fonctionner dans un contexte d’équipe de développement (en gros plus d’une personne).

Quelques définitions pour bien commencer

De quoi parle-t-on ? CI/CD sont devenus des termes un peu tarte à la crème. Vous les retrouvez souvent dans les grilles de ‘Bullshit Bingo’. Dans la vraie vie et surtout dans notre situation, à quoi cela correspond-il ? Le contexte : vous développez un site avec Middleman (par exemple) et vous voulez le ‘builder’ pour déployer votre site statique chez votre host préféré. Vous utilisez git pour gérer votre code. Dans cet article je vais me concentrer sur le déploiement d’un site statique. Nous verrons un autre jour pour un app type Rails.

Pipeline

Quelles sont les différentes étapes que l’on veut mettre en place ? commit d’une mise à jour sur une branche particulière dev unit test, qualité du code, sécurité pull request d’une branche de dev vers le master tests : unit, integration, qualité du code, sécurité build deploy