Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Plateforme SaaS pour l’intégration continue
Julien GARET / Christophe DEMAREY 24 Novembre 2011
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 2
SOMMAIRE
Introduction
1. Hudson / Jenkins
2. Gestion d’un projet
3. Gestion des projets
4. Derrière l’interface
Bilan et perspectives
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 3
INTRODUCTION
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
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 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.
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 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 »
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 6
Intégration continue @ Inria
Contexte
• nombreux développements
• nombreux contributeurs
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 7
Intégration continue @ Inria
Besoins
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 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
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 9
J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue 24 Novembre 2011 - 10
Hudson / Jenkins Présentation du serveur d’intégration continue
1
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 11
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
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 12
Tableau de bord
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 13
Vue détaillée d’un job
Gestion des permissions
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 14
Gestionnaire de plugins intégré
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 15
J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue 24 Novembre 2011 - 16
Gestion d’un projet Vue utilisateur
2
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 17
Création d’un projet
Rejoindre un projet existant
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 18
Gestion des comptes utilisateurs du projet
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 19
Gestion des révisions
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 20
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
Gestion des révisions
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 21
J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue 24 Novembre 2011 - 22
Gestion des projets Vue des administrateurs de la plateforme
3
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 23
Workflow de création d’un projet
Tout utilisateur Inria peut demander la création d’un projet
Un projet est validé par le pilotage pour assurer un suivi
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 24
Acceptation / rejet de la demande
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 25
Projet en construction
J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue 24 Novembre 2011 - 26
Derrière l’interface Dans les entrailles du système
4
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 27
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
Architecture Web
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 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
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 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
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 30
Schéma Général
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 31
J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue 24 Novembre 2011 - 32
Bilan et perspectives 5
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
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 33
24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 34
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)
merci
TOULOUSE JRES 2011