Difference between revisions of "Continuous Deliver"

From air
Jump to navigation Jump to search
Line 21: Line 21:
   
 
== Pratiques ==
 
== Pratiques ==
* Maintenir un [[Dépôt (informatique)|dépôt]] unique de [[code source]] versionné
+
* Maintenir un Dépôt unique de code source versionné
 
* Automatiser les compilations
 
* Automatiser les compilations
 
* Rendre les compilations auto-testantes
 
* Rendre les compilations auto-testantes
* Tout le monde ''{{lang|en|commit}}'' tous les jours
+
* Tout le monde commit tous les jours
* Tout ''{{lang|en|commit}}'' doit compiler le tronc ({{lang|en|trunk}}) sur une machine d'intégration
+
* Tout commit doit compiler le tronc trunk sur une machine d'intégration
 
* Maintenir un cycle de compilation court
 
* Maintenir un cycle de compilation court
 
* Tester dans un environnement de production cloné
 
* Tester dans un environnement de production cloné

Revision as of 21:30, 16 November 2014

Avant de parler de continous deliver, il est important dans un premier temps de rappeler l’intégration continue :


L'intégration continue est un ensemble de pratiques utilisées en génie logiciel consistant à vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression dans l'application développée. Bien que Template:Référence nécessaire , l'intégration continue se réfère généralement à la pratique de l'extreme programming.

Pour appliquer cette technique, il faut d'abord que :

Un outil d'intégration continue est ensuite nécessaire, tel que TeamCity, CruiseControl ou Jenkins (fork de Hudson) pour le langage Java par exemple.

Les principaux avantages d'une telle technique de développement sont :

  • le test immédiat des modifications
  • la notification rapide en cas de code incompatible ou manquant
  • les problèmes d'intégration sont détectés et réparés de façon continue, évitant les problèmes de dernière minute
  • une version est toujours disponible pour un test, une démonstration ou une distribution

Pratiques

  • Maintenir un Dépôt unique de code source versionné
  • Automatiser les compilations
  • Rendre les compilations auto-testantes
  • Tout le monde commit tous les jours
  • Tout commit doit compiler le tronc trunk sur une machine d'intégration
  • Maintenir un cycle de compilation court
  • Tester dans un environnement de production cloné
  • Rendre disponible facilement le dernier exécutable
  • Tout le monde doit voir ce qui se passe
  • Automatiser le déploiement

Voir aussi

Liens externes