Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

24
Intégration continue Mercredi 5 octobre 2016 Apéro techno

Transcript of Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Page 1: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Intégration continue

Mercredi 5 octobre 2016

Apéro techno

Page 2: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Continuous Integration

Continuous Delivery

Continuous Deployment

C'est quoi pour vous ?

Page 3: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Définition

Développement Intégration

Développement

Intégration

Intégration classique

Intégration continue

Page 4: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Définition

« L'intégration continue est une pratique en génie logiciel, qui consiste à faire en sorte que les développeurs intègrent

fréquemment leurs travaux à l'application »

Page 5: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Définition

Page 6: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Définition

Agilité DevOps

Qualité logicielle

Software Craftsmanship

Intégration

continue

Page 7: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue
Page 8: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Référentiel de sources

Automatisation du build

Des tests et encore des tests

Contrôle de la qualité du code

Packaging

Indicateurs, métriques et

tableau de bord

Dev Integ Recette PROD

Gestion de configuration

Gestion des dépendances

Page 9: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue
Page 10: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Pourquoi ?Nombreuses taches répétitives et pénibles

Perte de temps à traiter les problèmes de livraison, de configuration

Risque élevé d’erreurs humaines

Conflits récurrents entre Dev et Ops sur les problématiques de déploiement

Besoin d’augmenter la fréquence des livraisons #Agilité

« Les gros changements créent de gros problèmes, des petits changements créent de petits problèmes »

Page 11: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Par quoi commencer ?

Savoir définir et s’approprier collectivement des règles de développement=> tests unitaires, codage, nommage,…

Toute activité qui n'apparaît qu'au moment d'une livraison intermédiaire et que l'équipe vit comme longue et pénible est candidate pour être prise en compte au titre de l'intégration continue

Avoir une stratégie de test partagée (développeur, métier, exploitants)

Partager les objectifs de l’intégration continue

Compléter et améliorer en continu le processus d’intégration et de déploiement

Disposer des bonnes compétences pour avancer de manière efficace

Identifier les outils disponibles en fonction du contexte techno

Page 12: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Outils

« L'intégration continue n'est pas en premier lieu une question d'outil mais d'attitude »

Page 13: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Exemple

Définition d’objectifs de qualité :

Couverture de tests de 80%

D’ici à 3 mois, tous les développeurs ont écrit 20 tests unitaires

D’ici à 3 mois, tous les bugs rencontrés amèneront à l’écriture d’un test

Tests automatiques :

Tests unitaires demandés à chaque dev sur tous les nouveaux développement

Tests fonctionnels Bihat sur les fonctionnalités clés

Qualité du code :

Scrutinizer sur tous les projets GitHub PHP

Relecture systématique du code par 2 dévs avant chaque merge

Lancement automatique des tests et de l’analyse de qualité lors de chaque PR (Pull Request)

Page 14: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Intégration Continue

Fédération Française de Football

Page 15: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Le workflow

0..n Runners

Dev

VM

Integ

Preprod

Prod

Page 16: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Dans Gitlab ça donne quoi ?

Page 17: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Dans Gitlab ça donne quoi ?

Page 18: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Dans Gitlab ça donne quoi ?

Page 19: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Dans Gitlab ça donne quoi ?

Page 20: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Pourquoi ? Enjeux et bénéfices• De plus en plus de projets• Besoin de pouvoir avancer rapidement• Diminuer la durée entre l’expression du besoin et le

déploiement

Page 21: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Les étapes de la mise en oeuvre• Avant mon arrivée automatisation du déploiement de

fff.fr• en 2015, migration des dépôts git sur gitlab.• Création de minisites.

• Changement de postes de travail• Utilisation de la CI Gitlab pour déployer sur integ et

preprod• Paramétrage du déploiement auto au tag

Page 22: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Difficultés • Techniques• Pas de nouveau serveur possible• Zéro budget• Possibilité d’avoir beaucoup de taches en parallèle

• Organisationnelles• Le temps de formation sur cette nouvelle plateforme

Page 23: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

Les prochaines étapes• Depuis mon départ de la FFF

• Structuration de l'équipe (rôles scrum master et développeur)

• Ajout manuel d'un fichier CHANGELOG

• Ce qui viendra• Automatisation des étapes de MEP (CHANGELOG, branches

de hotfix ...)

Page 24: Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue

MERCI !

Questions ?