Améliorer l'efficacité et la transparence des services d'intégration continue

 

Shane Mcintosh

Université McGill

 

Domaine : technologies de l'information et des communications

Programme : établissement de nouveaux chercheurs universitaires

Concours 2017-2018

De nos jours, le développement des logiciels se fait rapidement. Les équipes de développement produisent souvent des milliers de mises à jour logicielles chaque mois. Des entreprises pratiquent l'intégration continue (IC), en vertu de laquelle chaque modification de code fait l'objet d'une vérification automatique pour s'assurer que le code source peut toujours être compilé et que les tests automatiques ont réussi. Un parc d'ordinateurs s'occupe de traiter les modifications de code au fur et à mesure qu'elles sont effectuées. Idéalement, ce parc fonctionne de manière optimale pour maintenir l'intégration et s'assurer que les nouvelles modifications de code se passent bien.

Certaines modifications déclenchent des processus d'IC qui peuvent être complétés en quelques secondes, tandis que d'autres prennent des heures, voire des jours. Depuis on ne peut pas prévoir la charge de travail générée par un processus d'IC, les développeurs ne savent pas combien de temps ce processus prendra. De plus, la performance des processus d'IC ne peut être réglée à sans intégrer la charge qu'un processus va générer.

Ce projet a pour objectif d'améliorer la transparence et l'efficacité des services d'IC. En utilisant les informations générées par l'outil d'IC, nous allons développer un outil prévisionnel capable d'estimer avec précision la charge de travail qui sera générée par un processus d'IC. Nous allons utiliser ces estimations pour fournir une heure d'arrivée estimée pour les processus d'IC et pour faire en sorte que le parc d'ordinateurs dédié à l'IC optimise les critères de performance spécifiques au projet.