Ma question est, comment puis-je contrôler la version de l'environnement de production dans le bon sens?Environnement de production contrôlé par la version
Voici notre environnement actuel:
- (serveur interne) Développement - Code source contrôlée Version
- (serveur client) l'environnement de test d'acceptation
- (serveur client) environnement Mise en scène
- (Client serveur) Environnement de production
Lorsque nous publions de nouvelles fonctionnalités pour accepter Après un test, nous faisons une publication dans Visual Studio, compressons les changements et les appliquons sur le serveur de test. Là, nous créons un dossier de sauvegarde (afin que nous puissions annuler les modifications) et nous créons un dossier de version afin que nous puissions déplacer ces modifications vers le transfert lorsqu'elles sont approuvées. Il s'agit de beaucoup de travaux manuels créant des dossiers de sauvegarde, des dossiers de version, recréant la structure du répertoire et essayant de suivre la fonctionnalité qui va dans quelle version. C'est fastidieux et il y a toujours un problème avec un développeur qui ne suit pas la procédure de publication.
En théorie je pourrais faire un dépôt pour l'environnement de test. (oubliez le code source, il s'agit de l'application publiée) Sur chaque version, le développeur fait un commit et fournit un commentaire sur les fonctionnalités qu'il libère. Lorsque la fonctionnalité doit être déplacée de Test à Staging, nous exportons les modifications apportées depuis la date de mise à jour de l'environnement de stockage intermédiaire et les copions dans l'application de stockage intermédiaire. Là, nous faisons un commit qui plus tard peut être extrait pour être libéré dans l'environnement de production. Les inconvénients de ceci est que l'utilisation de subversion encombrera l'application avec ces répertoires .svn. Cela peut être réparé en interdisant l'accès à ces répertoires dans IIS ou web.config. Une autre solution serait d'utiliser Git dans le répertoire au dessus du répertoire racine de l'application. Mais Git est plus difficile à travailler pour un développeur inexpérimenté dans un environnement Windows.
Quelqu'un at-il déjà rencontré ce problème? Comment contrôlez-vous la version de votre environnement de production? Que faire si vous devez annuler une version, avez-vous un dossier de sauvegarde que vous avez créé avant la publication? J'ai discuté de cela avec nos développeurs, et ils ne voient aucun problème avec l'utilisation de subversion pour le versioning et la sauvegarde de l'environnement de test/staging/production. Au contraire, ils seraient heureux de ne pas créer des dossiers de version/sauvegarde chaque fois qu'ils ont besoin de libérer de nouvelles fonctionnalités.
Dans le même temps, il y a une certaine insécurité à ce sujet. Personne n'en a entendu parler auparavant, ayant l'application dans un système de contrôle de version et nous ne savons pas quels seraient les inconvénients.
Si vous avez l'expérience d'un scénario comme celui-ci, je serais heureux d'en entendre parler.
Mikael Lundin