Faire faire son ménage par quelqu'un d'autre

19-08-2016 par Martin Lessard

C'est vraiment cool le monde open source.  Il n'y a pas grand chose qu'on peut pas trouver.  Disponible et gratuit.  Mais je vous ai déjà expliqué qu'il fallait s'en occuper de nos fameux modules gratuit.  Je vous ai même raconté que dans notre dernier développement maison, on a plus de 350 librairies.  Comment faire pour rester à jour?  On peut bien décréter qu'on fige une version des modules et qu'on n'évolue plus.  C'est voué à l'échec; un jour ou l'autre, probablement plus tard que tôt, il y aura un bug, un changement technologique qui va faire qu'on devra upgrader de version pour un des modules... ainsi que toute la chaîne de dépendance qui suit en arrière.  Et plus cette éventualité se produit tard, plus l'impact risque d'être gros.

En suivant un module qu'on utilise et dont j'attend impatiemment une correction, j'ai consulté la liste des pull requests et j'ai constaté que l'auteur des requêtes était un robot nommé greenkeeperio-bot.  Google m'a bien sûr apporté vers le site de greenkeeper.  Quel bel outil!  Il scan les dépendances de notre projet et valide qu'on utilise la dernière version de celle-ci.  Si ce n'est pas le cas, greenkeeper crée une branche et ajute le code (la config) pour utiliser la dernière version du module.  Tout ce que le propriétaire du repository a à faire, c'est d'exécuter ses tests unitaires (vous faites plus de projet sans tests unitaires n'est-ce pas?) et si les tests passent, tout simplement merger le pull request.  Si les tests ne passent pas, la branche est déjà créé pour faire le fix et merger le tout.  Évidemment, c'est basé sur Git avec le concept de pull request et de merge.  On pourrait faire ça dans TFS?  J'imagine...  mais je suis pas certain que le build pourrait s'exécuter sur les branches de code.  Peut-être qu'un changeset serait mieux?  Peut-être une idée pour une extension de Team Service?

Étiquettes : technologie

Comments powered by Disqus
back to top