Déploiement continu au sein de l'agence Web UP'nBoost

L'agence web UP'NBOOST à Pertuis met en place le déploiement continu visant à gagner du temps et améliorer la qualité du code déployé.

Le déploiement continu est un concept qui vise à améliorer la qualité et la régularité des déploiements logiciels. UP'nBoost, agence web spécialisée dans le développement et la stratégie digitale, a décidé de l'adopter en 2022 pour optimiser son processus de production. Les résultats ont été concluants : une diminution significative du nombre d'erreurs et une plus grande régularité des livraisons. Découvrez ici les principes du déploiement continu et les bonnes pratiques mises en œuvre par UP'nBoost !

Si vous faites partie de nos clients, vous devez connaître notre philosophie " Quick Win " ainsi que notre volonté d'avoir le retour sur investissement le plus élevé pour nos clients. Ainsi nous jugeons toutes nos actions sur ce qu'elles apportent aux projets de nos clients.

Rapidité de mise en oeuvre et réussite de nos projets

Notre équipe travaille farouchement à satisfaire tous les besoins de vos projets et nous travaillons avec certains de nos clients depuis plus de 8 ans. Les besoins évoluent, les outils s'alourdissent de fonctionnalités qui améliorent le quotidien de nos partenaires. La réussite de vos projets entraîne mathématiquement une complexité grandissante des infrastructures, des développements et des interactions entre besoins et solutions. Une charge mentale pour notre équipe qui s'alourdit à chaque évolution pour maintenir une utilisabilité de toutes les fonctionnalités sur vos projets (les plus gros bien sûr).

Depuis quelques temps nous réfléchissions sur les moyens pour nous de conjuguer notre efficacité actuelle à la progression future de vos projets.

C'est pourquoi nous avons opté pour le déploiement continu afin de faciliter notre travail quotidien, sécuriser les évolutions et accélérer encore plus les mises à jour.

Qu'est ce que le déploiement continu ?

Le déploiement continu est un processus d'intégration et de déploiement logiciel visant à automatiser et à optimiser les différentes étapes du cycle de vie du logiciel. Ce processus permet de réduire considérablement le temps nécessaire à la mise en production d'une nouvelle fonctionnalité ou d'un correctif.

Par exemple, imaginez que vous souhaitiez ajouter une nouvelle fonctionnalité à votre site web. Avec un processus de déploiement classique, il faudrait d'abord développer le code, puis le tester manuellement et enfin le déployer sur le serveur de production. Ce processus est long et peut prendre plusieurs jours, voire plusieurs semaines. En adoptant le déploiement continu, vous pouvez automatiser certaines étapes du processus et ainsi réduire considérablement le temps de mise en production.

Le déploiement continu est donc un processus extrêmement efficace qui permet de gagner du temps et d'améliorer la qualité du code déployé.

Les principes du déploiement continu

Le déploiement continu repose sur 3 principes fondamentaux :

  • L'intégration continue: tous les changements apportés au code sont intégrés au flux de déploiement et des phases de tests automatisés éprouvent celui-ci.
  • La livraison continue: de nouvelles fonctionnalités sont déployées sur le serveur de production dès qu'elles sont prêtes ( si la batterie de test est OK), sans attendre une version complète de votre application Web.
  • Le monitoring continu: Le code source ainsi que le serveur de production est monitoré en continu afin de détecter les éventuels problèmes et de déployer rapidement les correctifs nécessaires.

Avantages du déploiement continu

Le déploiement continu présente de nombreux avantages, notamment :

  • La réduction considérable du temps de mise en production: les changements apportés au code sont déployés immédiatement après leur intégration, sans attendre une version complète de l'application Web.
  • L'amélioration de la qualité du code: le processus est entièrement automatisé, ce qui permet de diminuer considérablement les erreurs et d'améliorer la qualité du code déployé. Les régressions de fonctionnalités sont très limitées, car les batteries de tests ne testent pas que les nouvelles fonctionnalités mais l'ensemble des fonctionnalités de votre application ou site Web.
  • La simplification des processus: le déploiement continu permet de simplifier les processus de développement, d'intégration et de déploiement, ce qui facilite considérablement le travail des équipes. Moins de stress, de charge mentale, c'est notre serveur de mise en production qui fait le boulot !

Chez UP'nBoost nous utilisons Jenkins

"Jenkins remet nous des glaçons..."

Jenkins est un outil open source d’intégration et de déploiement continu développé sur Java. Jenkins est installé et lancé sur notre propre serveur. Ce logiciel de CI/CD dispose de nombreux plugins qui permettent d’ajouter plus de fonctionnalités à notre serveur de CI.

Pourquoi Jenkins ?

Chez UP'nBoost nous avons choisi d’utiliser Jenkins, car cet outil est très facile à installer et à utiliser. Il permet également de mettre en place un processus de déploiement continu relativement simple. De plus, Jenkins dispose de nombreux plugins qui étendent ses fonctionnalités et le rendent encore plus puissant.

Comment ça marche ?

Le principe est simple : dès qu'un développeur effectue une modification dans le code source, celle-ci est détectée par Jenkins qui déclenche alors un processus de compilation, de tests et de déploiement automatique. Ainsi, le code source est intégré au flux de déploiement et des tests automatisés sont effectués

Demandez à être rappelé