Renovate – Automatiser la mise à jour de vos dépendances.

Vous démarrez un nouveau projet de développement et utilisez la dernière version disponible de votre framework de prédilection. Quelques mois plus tard, votre application est prête pour être déployée. Mais-avez vous remarqué que les dépendances sur lesquelles votre projet s’appuie ont évoluées entre temps ?

Les mises à jour des dépendances sont très souvent négligées, mais vous exposent à de la dette technique et de potentielles failles non bouchées.

Heureusement, il existe des outils pour vous aider à garder vos dépendances à jour de manière automatique. Dans ce billet nous allons parler de Renovate Bot.

Le but de l’outil Renovate est simple : Réduire la dette technique due à l’utilisation d’API obsolètes et réduire la surface d’attaque à cause de failles non bouchées. Pour parvenir à cela, l’outil permet d’automatiser le processus de mise à jour de dépendances afin de vous permettre de passer votre temps sur ce qui a le plus de valeur : votre application.

Fonctionnement de Renovate

Le fonctionnement de l’outil est relativement simple bien que les possibilités de configuration soient nombreuses. Renovate est un outil qui se lance ponctuellement à une fréquence que vous décidez (via un CRON par exemple)

Les sources d’informations des dernières versions disponibles pour Renovate sont les repositories officiels (Docker Hub, Maven Central PyPi…).

Renovate scanne vos dépendances, détecte vos versions et les compare aux dernières versions disponibles. Si une nouvelle version est disponible, vous êtes prévenu.

Dans un premier temps vous configurez l’outil avec les informations de base :

  • Adresse de votre SCM (Gitlab, Bitbucket…)
  • Token du compte utilisateur du Bot Renovate
  • Repositories à scanner

Ensuite vous lancez Renovate et la magie va commencer à opérer.

La première fois que votre projet est scanné par le Bot Renovate, une Merge request sera créée pour vous expliquer le fonctionnement. Renovate vous présentera un premier état des lieux des dépendances obsolètes trouvées.

Merge request de mise à jour automatique de dépendance
La première merge request faite par Renovate

Une fois votre projet onboardé, Renovate va créer une Merge Request par nouvelle dépendance disponible. Si vous utilisez Gitlab, un ticket global sera créé pour recenser toutes les mises à jour de dépendances en cours.

Ticket global avec la liste des dépendances à mettre à jour
Ticket général créé par Renovate pour suivre la liste des dépendances à mettre à jour

Enfin, dans chaque Merge Request, Renovate vous expose le changelog qu’il aura récupéré depuis les repos Github officiels.

Le changelog est affiché dans la Merge Request

Les changements apportés par Renovate sont simplement les mises à jour de vos fichiers pom, package.json… avec la nouvelle version.

Vous avez le choix

A partir de là, plusieurs options :

  • Accepter la merge request
  • Cloturer la merge request

Si vous clôturez sans merger, Renovate ne vous embêtera plus avec la version, votre choix est mémorisé.

Print Friendly, PDF & Email

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.