35
Plateforme SaaS pour l’intégration continue Julien GARET / Christophe DEMAREY 24 Novembre 2011

Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

Plateforme SaaS pour l’intégration continue

Julien GARET / Christophe DEMAREY 24 Novembre 2011

Page 2: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 3: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 3

INTRODUCTION

Page 4: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 5: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 6: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 7: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 8: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

Intégration continue @ Inria

Besoins

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 8

Page 9: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 10: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 11: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 12: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 12

Tableau de bord

Page 13: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 13

Vue détaillée d’un job

Page 14: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

Gestion des permissions

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 14

Page 15: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

Gestionnaire de plugins intégré

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 15

Page 16: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue 24 Novembre 2011 - 16

Gestion d’un projet Vue utilisateur

2

Page 17: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 17

Création d’un projet

Page 18: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

Rejoindre un projet existant

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 18

Page 19: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

Gestion des comptes utilisateurs du projet

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 19

Page 20: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 21: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

Gestion des révisions

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 21

Page 22: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 23: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 24: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 24

Acceptation / rejet de la demande

Page 25: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 25

Projet en construction

Page 26: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 27: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 28: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

Architecture Web

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 28

Page 29: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 30: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 31: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

Schéma Général

24 Novembre 2011 J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue - 31

Page 32: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

J. GARET / C. DEMAREY- Plateforme SaaS pour l'Intégration Continue 24 Novembre 2011 - 32

Bilan et perspectives 5

Page 33: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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

Page 34: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

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)

Page 35: Plateforme SaaS pour l’intégration continue2011.jres.org/archives/55/paper55_slides.pdfBilan de la plateforme Ressources : 1,5 ETP sur un mois • 0,5 ETP pour le développement

merci

TOULOUSE JRES 2011