Plateforme SaaS pour l intégration continue Julien GARET / Christophe DEMAREY 24 Novembre 2011
SOMMAIRE Introduction 1. Hudson / Jenkins 2. Gestion d un projet 3. Gestion des projets 4. Derrière l interface Bilan et perspectives J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-2
INTRODUCTION J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-3
Intégration continue - pratique de développement logiciel (empruntée à l extreme Programming) - intégration fréquente du travail des membres de l équipe (plusieurs par jour) - vérification automatisée (inclue les tests) - détecter les erreurs au plus tôt J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-4
Pourquoi l intégration continue? Connaître l état du logiciel à tout moment => bilan de santé compilation (win, linux, mac) tests unitaires tests d intégration etc. J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-5
Pourquoi l intégration continue? Objectif: Améliorer la qualité et la fiabilité du logiciel Gagner en temps de maintenance Améliorer l expérience utilisateur «Image de marque» J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-6
Intégration continue @ Inria Contexte nombreux développements nombreux contributeurs J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-7
Intégration continue @ Inria Besoins J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-8
Premiers pas avec l intégration continue Gestionnaire de code source de référence Processus de build automatisé Batterie de tests outil d intégration continue J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-9
1 Hudson / Jenkins Présentation du serveur d intégration continue J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-10
Hudson/Jenkins est : un logiciel d intégration continue Open Source, multi utilisateurs, multi langages, écrit en Java. Hudson/Jenkins n est pas : multi projet J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-11
Tableau de bord J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-12
Vue détaillée d un job J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-13
Gestion des permissions J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-14
Gestionnaire de plugins intégré J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-15
2 Gestion d un projet Vue utilisateur J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-16
Création d un projet J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-17
Rejoindre un projet existant J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-18
Gestion des comptes utilisateurs du projet J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-19
Gestion des révisions Déploiement nouvelle version sur pf qualification Synchronisation configuration + jobs de pf production vers pf qualification Test / qualification par l utilisateur Déploiement version de qualification vers pf production J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-20
Gestion des révisions J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-21
3 Gestion des projets Vue des administrateurs de la plateforme J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-22
Workflow de création d un projet Un projet est validé par le pilotage pour assurer un suivi Tout utilisateur Inria peut demander la création d un projet J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-23
Acceptation / rejet de la demande J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-24
Projet en construction J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-25
4 Derrière l interface Dans les entrailles du système J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-26
Gestion des utilisateurs et groupes 2 groupes créés dans une ou dédiée au projet les utilisateurs du projet les administrateurs du projet Les utilisateurs non Inria ont des comptes invités créés dans l annuaire pas de gestion de sources multiples d authentification J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-27
Architecture Web J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-28
Le container de servlets Winstone Container de servlets léger intégré dans Hudson/Jenkins Configuration par arguments plutôt que par fichiers Mono webapp Création d un script d init pour gérer les arrêts/démarrages des instances J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-29
Puppet et ressources exportées Objectif : automatiser la mise en place d une instance avec un minimum d intervention Déployer l ensemble des fichiers nécessaires au fonctionnement d une instance : Webapp Hudson ou Jenkins Script de gestion de winstone Scripts de cohérence de la configuration Génération et déploiement d une clé SSH Utilisation des ressources exportées pour générer la configuration des réécritures apache sur le serveur frontal J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-30
Schéma Général J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-31
5 Bilan et perspectives J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-32
Bilan de la plateforme Ressources : 1,5 ETP sur un mois 0,5 ETP pour le développement de l interface 1 ETP pour la mise en place de l infrastructure système Résultats obtenus : Interventions humaines réduites au minimum Grande autonomie pour les administrateurs des projets J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-33
Pistes d évolution Ouverture large au sein d Inria D une plateforme locale à une plateforme nationale Ferme de compilation Mise à disposition automatique de ressources pour les projets Outils complémentaires pour améliorer la qualité Associer des outils de métriques de code (ex. Sonar) J. GARET / C. DEMAREY- Plateforme SaaS pour l'intégration Continue 24 Novembre 2011-34
merci TOULOUSE JRES 2011