Prise de note lors de la conférence du DrupalCamp Paris 2013.
Comment faire un site en 1,5 mois sans le faire à l’arrache?
Faut le faire en agile!
- On s’engage sur une date ou sur un périmètre mais pas les 2
- Définition du “Minimum Viable Product”
Comment livrer le plus souvent possible:
- Tout automatisé
Construction d’un build pipeline
Flux automatisé jusqu’à la mise en production
commit -> Inté continue -> recette développeur -> déploiement en intégration -> recette métier -> déploiement en pré prod -> validation finale -> déploiement en production
Tout a été orchestré avec Jenkinks
Quelle base de données fait foi?
La base de données de developpement doit être la base de référence
Comment transposer la configuration d’un environnement à l’autre?
- Features
- hook_update
1 feature par grand domaine, pas par réelles fonctionnalités
Toujours valider le déploiement (smoke tests)
Lancement des tests d’intégration automatisés -> Dans le cadre du projet, seul le front a été testé automatiquement
Et la qualité du code?
- Coder
- Lint
- phpmd
- phpcd
Tests de performances
- JMeter
- Gatling? en Scala
Outils utilisés
- Déploiement en environnement de dév -> Capistrano
- Validation -> PHPUnit + cURL
Capistrano
Permet de faire de déploiement parallélisé via un domaine spécifique Il permet de déployer les fichiers spécifiques aux devs et ne pas se préoccuper des fichiers spécifiques à l’environnement.
Permet de sauvegarder l’ancienne version du code, partage des fichiers de config
Quasi plus besoin d’actions manuelles sur le serveur au final.
Smoke Tests
Permet de détecter les “fuites” coté Front
- Succession de curl
- home en HTTP 200
- Pas de blocs d’erreurs
- Pas de 404 sur les assets
- Blocs importants bien présents
Comment on monitore?
- Buildwall Jenkins
Et les tests unitaires dans tout ça?
- Uniquement sur le front dans le cadre de ce projet
- SimpleTest trop lent
Découpage pour la mise en production avec 2 taches
- 1 pour le merge de DEV vers PROD only
- 1 pour la mise en prod de la branch “mergée”
Coordonnées contact
twitter: @arnaudhuon mail: [email protected]