Quelqu'un peut-il expliquer en termes simples quelle est la différence entre la gestion de la configuration et le contrôle de version? D'après les descriptions que j'ai pu trouver sur divers sites Web, il semble que la gestion de la configuration ne soit qu'un terme de fantaisie pour mettre vos fichiers de configuration dans un référentiel de contrôle de source. Mais d'autres me font croire qu'il existe une explication plus complexe.
Le contrôle de version est nécessaire mais pas suffisant pour la gestion de la configuration. Le contrôle de version se produit dans un référentiel central ou distribué, mais ne dit rien sur l'endroit où une version particulière est déployée ou utilisée.
La gestion de la configuration s'inquiète de la façon de prendre ce qui est dans le contrôle de version et de le déployer de manière cohérente aux endroits appropriés, principalement QA et production, mais également dans une opération de développement suffisamment importante pour les développeurs.
Par exemple, vous pouvez conserver toutes vos requêtes SQL dans le contrôle de version, y compris vos scripts de modification de table, mais cela ne contrôle pas le moment où ces scripts sont déployés sur le serveur de base de données approprié et synchronisés avec le déploiement de tout autre code qui s'appuie sur cette structure de base de données.
La gestion de la configuration comprend, mais sans s'y limiter, le contrôle de version.
Gestion de la configuration est tout ce dont vous avez besoin pour gérer en termes de projet. Cela inclut les logiciels, le matériel, les tests, la documentation, la gestion des versions, etc. Il identifie chaque composant utilisateur final et suit chaque modification proposée et approuvée du jour 1 du projet au jour de la fin du projet.
Contrôle de version est spécifiquement appliqué aux fichiers informatiques. Cela inclut les documents, les feuilles de calcul, les e-mails, le code source, etc.
Le contrôle de version consiste à enregistrer des fichiers et à en conserver différentes versions, afin que vous puissiez voir le changement au fil du temps.
La gestion de la configuration est généralement désignée comme un processus global qui permet de garder une trace de la version du code sur quel serveur, de la configuration des serveurs (et des scripts d'installation pour le faire à de nombreux endroits). C'est comment le processus de ce qui se passe après que le code passe au contrôle de source et comment est déployé sur les serveurs/bureaux, etc.
La gestion de la configuration est un terme ambigu.
Dans le logiciel, il a tendance à être un surensemble de contrôle de version mettant l'accent sur l'ensemble du processus pour produire un résultat de manière reproductible et prévisible.
Dans la maintenance informatique, elle est liée à la maintenance des paramètres de configuration et des versions matérielles/firmware/logiciels de réseaux entiers et d'un ensemble de machines informatiques attachées (y compris serveurs, clients, routeurs ...).
Dans la fabrication de matériel, il représente même un surensemble des deux ci-dessus, y compris les pièces matérielles et les modules logiciels nécessaires pour obtenir un produit, avec la description du processus pour les fabriquer, et même parfois les schémas et configurations entiers des lignes de production elles-mêmes .
Contrôle de version est le contrôle des livrables alors que gestion de la configuration gère l'ensemble du processus conduisant à produire les livrables. La gestion de la configuration implique la gestion du changement, la gestion de projet, etc., qui ne sont généralement pas gérées par un simple contrôle de version.
En plus de tout ce qui précède, je voudrais recommander le livre de Bob Aiello intitulé "Meilleures pratiques de gestion de la configuration" - http://www.Amazon.com/dp/0321685865 . Il couvre tous les aspects de la gestion de la configuration logicielle, y compris le contrôle de version.
En gros, le contrôle de version signifie que vous pouvez vérifier la source d'une version particulière. La gestion de la configuration signifie que vous pouvez créer et déployer et probablement tester n'importe quelle version particulière.
Cela peut être utile.
Versions et configurations
Versions:
Possibilité de gérer plusieurs versions d'un objet.
On le trouve couramment dans de nombreux environnements d'ingénierie logicielle et d'ingénierie simultanée.
La fusion et la réconciliation des différentes versions sont laissées au programme d'application
Certains systèmes conservent un graphique de version
Configuration: