Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de...

Preview:

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

Recommended