ಠ益ಠ Jenkins Khan – Apéro PHP - 30 avril 2013 – Le besoin ?



ಠ益ಠ Jenkins Khan – Apéro PHP - 30 avril 2013 – Le besoin ?

0 0


jenkins-khan-presentation-apero-php

Mes slides de la présentation de Jenkins Khan à l'apero php lyonnais du 30 avril 2013

On Github srogier / jenkins-khan-presentation-apero-php

ಠ益ಠ Jenkins Khan

Apéro PHP - 30 avril 2013

Me + PMSIpilot + projet JK

Le besoin ?

Au début, pas de tests

PMSIpilot :
  • Projet symfony 1.x
  • SVN
  • 7~10 développeurs
Explication du contexte applicatif de PMSIpilot
  • Projet créé depuis quelques années.
  • Passage en 2008 en symfony 1.2
  • Gros refacto, mais que du testing manuel

Puis les premiers test fonctionnels

* Utilisation des outils de Symfony pour réaliser les tests fonctionnels * Puis après des tests maisons d'étalons de non régression

Suivis des premiers tests unitaires

Premiers tests avec Lime

Automatisation des tests

Lancement manuel des tests avant tag Stabilisation Début de l'intégration continue

Augmentation du nombre de tests

  • Une dizaine de tests
  • 30h de tests parallélisés

SVN -> git

Changement du workflow

  • Branche
  • Développement
  • Validation
  • Merge
  • création d’une branche de travail à partir de la branche stable,
  • réalisation du développement,
  • validation du développement en exécutant les tests sur la branche de travail,
  • merge de la branche de travail sur la branche stable.

Jenkins local

On merge sur le master du code stable
  • Même jobs que sur le jenkins de prod
  • instance local
  • Parametre BRANCH supplémentaire pour lancer les tests sur une branche en particulier

Et puis un jour

* Impossible de suivre les jobs branches par branches * FASTIDIOSITE * Erreurs * Chacun fait à son envie

Et là, c'est le drame !

Oubli d'un test ==> on casse le master

ಠ益ಠ Jenkins Khan est né !

Faciliter la vue par branche via Jenkins.
  • Etat de la validation par fonctionnalités
  • Vue globale de ses développements
Objectif principal : visualiser l’état global des branches et l’état des jobs. Contrairement à Jenkins (vue orientée job), JK a une vue orientée branche.

Stack technique

  • Symfony 1.4
  • MySQL
  • Twitter boostrap
  • API Jenkins
Connexion à LDAP Projet à part pour l'API

Demo

Conclusion

Ca ne sert à rien de trouver un nom sympa à un projet si on n'est pas capable de le prononcer 3 fois de suite sans se planter

Merci

@srogier

ಠ益ಠ Jenkins Khan : https://github.com/pmsipilot/Jenkins-Khan