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

Comparaison de screenshots

Supervision du code

Supervision performance

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

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 testhttp://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
# notifyhttp://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
État de l'Industrialisation à la DNM de Radio France
By Jean-François Lépine
État de l'Industrialisation à la DNM de Radio France
- 844