Stage 3: Mise en oeuvre de l'intégration continue

sur une plate-forme de portage logiciel

Niveau Requis

BAC + 5

Maitres de stage

Maurice Brémond

Description du stage

Durée

4 à 6 mois

Contexte

L'INRIA, institut national de recherche en informatique et en automatique, placé sous la double tutelle des ministères de la recherche et de l'industrie, a pour vocation d'entreprendre des recherches fondamentales et appliquées dans les domaines des sciences et technologies de l'information et de la communication (STIC).

Les équipes-projets INRIA qui distribuent du logiciel sont confrontées à la variété et aux évolutions rapides des environnements de leurs utilisateurs. La plate-forme expérimentale Pipol (Plate-forme Inria de Portage Logiciel: http://pipol.inria.fr) offre aux équipes de développement logiciel un accés sur réservation aux différentes architectures et systèmes d'exploitation et distributions les plus demandés pour le développement logiciel. Actuellement, la plate-forme propose différentes architectures : Itanium, Intel 32 et 64 bits et systèmes d'exploitation et distributions : Linux (Fedora, Ubuntu, Debian, RedHat,...), Mac OSX, Windows (XP, Vista).

Pour l'instant, cette plateforme permet le build de logiciel de facon interactive ou par batch (nigthly build,...).

Objectifs du projet/stage

L'objectif du stage est d'adapter, dans le contexte du déploiement de systèmes à  la demande d'une plate-forme commune, une ou plusieurs solutions d'intégration continue susceptibles d'etre utilisées à  l'INRIA. L'intégration continue permet de vérifier les modifications du résultat à  chaque modification de code sur le gestionnaire des sources.

Le travail se décomposera en plusieurs phases :

  1. Etat de l'art sur l'intégration continue (ex: Hudson, CruiseControl, Buildbot, ...)
  2. Analyse de la problématique introduite par les aspects multi-projets & déploiement de systèmes à  la demande.
  3. Proposition d'un prototype à  partir d'un ou plusieurs outils d'intégration continue.
  4. Mise en oeuvre et validation avec une équipe de développement à  l'INRIA.

Compétences requises

  • Connaître quelques systèmes d'exploitation dont Linux ainsi que les techniques et les outils de leurs administrations.
  • Maîtriser les chaînes de développement de programmes : compilation, paquetage, installation.
  • Connaître des technologies de machines virtuelles serait un plus
  • Maîtriser l'anglais technique
  • Avoir le gout du travail en équipe
  • Avoir de bonnes aptitudes rédactionnelles