Industrialisation à la DNM

État des lieux et perspectives

Industrialisation

"Faire en sorte que chacun soit plus heureux et boive plus de café"

D'où vient-on ?

Où en est-ton ?

Où va t-on ?

Il y a 2 ans

Premiers déploiements automatisés

Débuts de Git

Apparition de Gitlab

Apparition de Jenkins

 

Mais c'est mieux quand Maziar en parle...

 

Et aujourd'hui ?

C'est encore un peu le bazar...

Des outils

Déploiement automatisé

 

Intégration continue

 

Plate-forme de tests

 

Supervision du code

 

Facilitateur

Des pratiques

Déploiement continu

 

Revues de code

 

Tests automatisés

 

Amélioration continue

 

Plan de qualité

Plan de qualité

Facteurs de qualité

Plan de tests

Métriques à collecter

Matrice de traçabilité

Jeu de données

Critères de sortie des tests

Critères de sortie du projet

 

 

 

http://gitlab.dev.dnm.radiofrance.fr/qa/qa-testing-process/

Testabilité

Le premier pas est franchi !

Oui, on commence à avoir quelques tests

Cruiser : unitaires

Bleuwww : unitaires, fonctionnels, UI, parcours utilisateur

 

Mais on manque encore vraiment d'entraînement et de quantité

Tests fonctionnels

1

Comparaison de screenshots

1

Supervision du code

1

Supervision performance

 

Même s'il reste beaucoup de rouge...

2

http://testing.dnm.radiofrance.fr

 

Le poste de travail

FEDORA C'EST MIEUX QUE DEBIAN !

 

JE VEUX PAS GNOME ! JE VEUX MINT !

 

LES MAC C'EST BIEN MIEUX

Virtualisation

 

Aujourd'hui : Docker + Docker-Compose

Dès demain :

  • Distribution Fedora RF
  • 3 Machines virtuelles (avec Docker dedans)
  • Provisionning Puppet

Facilitateur "rf"

# Installer sa machine (Docker, Clef SSH, Git...)
rf welcome

# Démarrer une fonctionnalité / Ouvrir une merge request
rf git branch-start <nom de la branche>
rf git branch-end <description>

# Lister les merges requests ouvertes sur votre projet
rf git info

# Est-ce que je respecte la directive / corriger
rf evaluate .
rf upgrade

# Lancer les test
rf test

http://gitlab.dev.dnm.radiofrance.fr/qa/qa-binary

Octopus

Tout est basé sur une convention

rf-ci

# git clone
# git fetch
# git merge /origin/features/*
# docker run ...
# make test
# notify

http://gitlab.dev.dnm.radiofrance.fr/qa/qa-ci

Intégration continue

http://merge.dnm.radiofrance.fr

Directive de développement

http://qa.dnm.radiofrance.fr

Mais aussi

  • Création automatique des dépôts
  • Création automatique des pipelines et jobs Jenkins
  • Supervision de la qualité du code
  • Remplacer les développeurs par des robots
 

Une vraie difficulté

Il faut être plus feignant !

Questions ?

Merci

Made with Slides.com