61 lines
3.0 KiB
Markdown
61 lines
3.0 KiB
Markdown
|
Autres outils indispensables
|
|||
|
----------------------------
|
|||
|
|
|||
|
### Maintient à jour des dépendances
|
|||
|
|
|||
|
Une opération fastidieuse, souvent oubliée sitôt le projet envoyé en
|
|||
|
production, c'est la mise à jour des dépendances applicatives. Fastidieux car
|
|||
|
il faut d'une part être informé qu'une mise à jour est disponible, c'est-à-dire
|
|||
|
qu'il faut suivre les mails, parfois nombreux, informant des nouvelles
|
|||
|
*releases*, parfois il s'agir de newslettre, ou encore parfois aucune
|
|||
|
notification ne peut être programmée, il faut se rendre régulièrement sur un
|
|||
|
site pour savoir si oui ou non une mise à jour est disponible.
|
|||
|
|
|||
|
Et ce n'est pas tout puisqu'une fois la nouvelle version identifiée, il faut la
|
|||
|
récupérer, vérifier que tout compile et que les tests passent... On peut vite
|
|||
|
comprendre que personne ne veut avoir cette tâche.
|
|||
|
|
|||
|
Heureusement pour nous, des outils existent pour faire tout cela ! Dependabot
|
|||
|
et Renovatebot sont deux projets qui vont nous aider à maintenir nos
|
|||
|
projets. Que ce soit pour corriger une vulnérabilité dans un module NodeJS, un
|
|||
|
nouvelle version d'un conteneur Docker ou une évolution majeure d'un framework,
|
|||
|
nous serons alerté et pourrons agir en conséquence, en sachant si les tests
|
|||
|
passent ou pas, avec l'aide de notre système d'intégration continue.
|
|||
|
|
|||
|
Pour la suite de notre expérience, nous allons prendre en main Renovatebot qui
|
|||
|
semble aujourd'hui la solution la plus aboutie des deux.
|
|||
|
|
|||
|
![L'activité favorite de renovatebot : créer des *pull-requests*](renovatebot-pr.png){height=10cm}
|
|||
|
|
|||
|
|
|||
|
### Installation de Renovatebot
|
|||
|
|
|||
|
Une fois de plus, nous allons déployer ... un conteneur Docker ! Mais avant
|
|||
|
cela, il va falloir créer un utilisateur dédié à Renovatebot dans notre forge.
|
|||
|
Cet utilisateur sera utilisé par le *bot* pour participer à vos projets : il va
|
|||
|
régulièrement cloner vos dépôts, rechercher les dépendances pour les outils
|
|||
|
qu'il maîtrise, puis préparer des *pull-requests* dès qu'il détectera une
|
|||
|
nouvelle version d'une dépendance.
|
|||
|
|
|||
|
Dès lors que vous aurez créé le nouvel utilisateur dans Gitea, il faudra
|
|||
|
générer un jeton d'accès, car aussi doué soit Renovatebot, il préfère utiliser
|
|||
|
l'API HTTP plutôt que de cliquer sur les boutons. Dans les paramètres de
|
|||
|
l'utilisateur que vous aurez créé, sous l'onglet « Applications », vous
|
|||
|
trouverez un encadré « Gérer les jetons d'accès ». Contrairement à DroneCI pour
|
|||
|
lequel il fallait créer une application OAuth2, ici il s'agit bien du formulaire en
|
|||
|
haut de la page.
|
|||
|
|
|||
|
::::: {.warning}
|
|||
|
|
|||
|
Il est bien question de créer un jeton d'accès pour l'utilisateur renovatebot
|
|||
|
que vous avez créé, et non pas pour votre compte utilisateur.
|
|||
|
|
|||
|
Bien que cela fonctionnerait parfaitement, le bot parlerait en votre nom, il
|
|||
|
serait alors difficile de suivre les requêtes.
|
|||
|
|
|||
|
:::::
|
|||
|
|
|||
|
Juste avant de lancer le conteneur, assurez-vous que votre utilisateur
|
|||
|
Renovatebot a bien accès en écriture aux dépôts que vous souhaitez qu'il
|
|||
|
surveille. Sans quoi il ne sera pas en mesure de vous aider.
|