J'utilise SVN pour la gestion du code source sur une application ASP classique que je développe/supporte. Je maintiens plusieurs versions de l'application comme requis par mon entreprise:Contrôle de version pour les applications Web - comment gérer les révisions et les plannings de mise en production?
- Version Discovery/playground - où je fais tout le travail. Mon travail Copie
- versions Dev/test (pas d'accès à ces sites/serveurs)
- version live (pas d'accès à ces sites/serveurs)
Voici quand je des ennuis:
- le travail se fait sur le projet a et est engagé
- un projet est promu Dev/test à l'aide d'une exportation du journal
- il y a un problème avec le projet a et il est stalle ed dans Dev/Test
- Projet B se présente, est préparé et engagé
- Projet B construit maintenant sur le projet A, mais il y a des parties du projet A ne sont pas prêts pour le prime time
court de seulement " faites attention à ne rien gâcher », y a-t-il quelque chose que je puisse faire pour m'assurer que certaines parties des projets peuvent se bloquer dans le processus de développement sans tout retarder?
La nécessité d'un serveur web dans le processus semble me causer des problèmes. Je sais que je peux brancher le projet A quand il passe à Dev/Test, puis le fusionner au tronc quand il est en direct. De cette façon, je peux retourner mon terrain de jeu devant la branche et faire le projet B sans que le projet A ait une chance d'aller vivre accidentellement. Cependant, je ne peux pas jouer avec le projet A sur mon terrain de jeu. Dois-je créer un nouveau site de terrain de jeu pour chaque branche? Je sais que c'est probablement trop spécifique à ma situation avec toutes ses contraintes, mais j'espère que quelqu'un d'autre a vécu quelque chose de similaire à ma situation.
Merci!
EDIT:
Voici ma solution actuelle: Maintenance des correctifs - changements qui pourraient aller immédiatement à la production - peut se fait dans WC et engagé dans le coffre. Tout ce qui a des dépendances sur un projet est ramifié. Les copies de travail le long du chemin de test peuvent être commutées pour pointer vers cette branche pour tester un projet. Les branches doivent être tenues à jour, et nous pouvons utiliser des hooks de commit pour tenir les gens informés. Lorsqu'une succursale est prête à être déployée en production, elle est fusionnée avec le réseau et déployée.
Cela a du sens et fonctionnerait, non?
Combien de copies de "Live Version" existe-t-il en production? Un? Plus d'un? – braveterry
Il me semble que vous auriez besoin d'un site de jeu par branche. Si couper de nouvelles branches est trop cher (que ce soit au niveau VCS ou en termes de configuration de sites de jeux), c'est un argument que vous devriez envisager de modifier votre configuration pour qu'elle devienne moins chère. ... – crazyscot
@braveterry - 2 copies exportées du projet en production, sur des serveurs à charge équilibrée. @crazyscot - Avant de l'avoir tapé plus tôt, je n'avais pas vraiment pensé à créer un nouveau site chaque fois que nous nous branchions. Mais cela pourrait avoir un sens. Merci à tous les deux! –