Une série d'activités qui rend un programme disponible pour une utilisation (généralement dans des environnements de test ou de production)

Le déploiement consiste en une série d'activités nécessaires pour mettre un programme à disposition en dehors d'un environnement de développement (par exemple sur des sites Web, des PC, des smartphones et / ou des tablettes).

À un niveau élevé, les activités de déploiement doivent:

  • compiler le programme dans un format d'emballage approprié;
  • distribuer le programme dans l'environnement final (par exemple via Internet, une boutique d'applications ou des CD);
  • installer les dépendances (généralement les bibliothèques, les runtimes et les serveurs d'applications);
  • configurer l'environnement cible (par exemple, l'emplacement de la base de données ou les paramètres d'exécution du serveur d'applications).

Un déploiement peut se faire de plusieurs manières selon le type de programme, par exemple:

  • pour déployer une application Web écrite en Java, nous pouvons ajouter des fichiers JAR aux conteneurs Web;
  • pour déployer une application de bureau sur Windows, nous pouvons créer un programme d'installation et le graver sur CD;
  • pour déployer une application dans un environnement cloud (comme Heroku ou Windows Azure), nous pouvons utiliser des programmes ad-hoc ou des programmes largement connus comme git qui déclenchent une série d'opérations côté serveur;
  • pour déployer une application dans un magasin d'applications, nous pouvons être amenés à envoyer l'application au propriétaire du magasin pour approbation. Si la demande est approuvée, le propriétaire du magasin publiera la nouvelle version, la mettant à la disposition des utilisateurs;
  • un déploiement peut nécessiter de distribuer des machines virtuelles spécialement configurées avec la bonne version du logiciel et des dépendances.

Le déploiement comporte de nombreux défis autour de deux thèmes principaux:

  • pour garantir que les programmes présentent le même comportement en production qu'en test et en développement. Pour ce faire, il existe généralement plusieurs environnements de test (au-delà du développement) dans lesquels le logiciel est déployé et testé de manière approfondie avant d'être publié dans l'environnement de production. canary-deploymentest la stratégie de déploiement sur un sous-ensemble d'utilisateurs pour détecter les erreurs de production uniquement avec un impact utilisateur minimal.
  • pour pouvoir revenir à une version stable précédente au cas où la version actuelle se comporterait de manière erratique. L'environnement de déploiement peut aider en fournissant certaines fonctionnalités pour conserver les versions précédentes et les installer si nécessaire. blue-green-deployment est une stratégie de déploiement qui permet une , version robuste et restauration.

Questions fréquemment posées

Les gens posent souvent des questions sur ces sujets: