Nous sommes une équipe de 4 personnes et nous n'avons pas été loin de notre zone de confort depuis plusieurs années, mais nous sommes en pleine croissance et nous aimerions rattraper le temps. J'ai été chargé de trouver la meilleure façon de mettre en œuvre l'intégration continue (builds automatisés, branchement pour la maintenance du code et de nouvelles fonctionnalités, etc.). Nous envisageons de passer de SourceSafe 2005 à Subversion pour gérer notre contrôle de version. D'après ce que j'ai lu, Subversion est un choix bien meilleur pour faire la promotion de code, les branches, et la fusion entre les branches. Nous allons probablement utiliser les produits suivants:Meilleure configuration pour la promotion de code et le branchement de fonctionnalités dans Subversion?
- VisualSVN serveur
- TortoiseSVN (pour l'intégration avec Windows Explorer)
- VisualSVN (pour l'intégration avec Visual Studio 2005)
- SVNVB6 (pour l'intégration avec Visual Basic 6)
- FinalBuilder
Quelle est la meilleure façon d'organiser le dépôt de promotion et de fonctionnalité du code ramification? Voici un exemple de notre structure actuelle SourceSafe:
- racine
- Visual Studio 2005 Projets
- ProjectName
- fichier Solution, les fichiers de projet et fichiers code ici
- \ bin
- \ Release
- binaires de libération compilons
- \ Release
- ProjectName
- Visual Basic 6 projets
- ProjectName
- Les fichiers de projet et le code fichiers ici
- binaires compilés (.dll, .exe, .ocx) ici
- ProjectName
- Documentation
- fichiers Documentation ici
- Visual Studio 2005 Projets
Devrions-nous structurer comme ça?
- racine
- branches (branche à partir de chaque tronc)
- Development.FeatureA
- Development.FeatureB
- Test (nocturne intégré avec FinalBuilder ???)
- production (Construit tous les soirs avec FinalBuilder ???)
- Production.BugFixA (Intégration inverse à la branche de production, branche d'essai, et le tronc ???)
- balises
- Development.v1 (marqué après chaque construction réussie)
- Development.v2
- Development.v3
- Test.v1
- Test.v2
- Test.v3
- Production.v1
- Production.v2
- Production.v3
- tronc (code de développement - nuit Construit avec FinalBuilder)
- Stoudion 2005 projets Visual
- ProjectName
- Solution fichier ici
- ProjectName
- fichiers du projet et le code des fichiers ici
- ProjectName
- Visual Basic 6 projets
- ProjectName
- fichiers du projet et fichiers code ici
- ProjectName
- Stoudion 2005 projets Visual
- branches (branche à partir de chaque tronc)
Depuis une grande partie de notre logiciel est encore COM (VB6) et doit être enregistré (en utilisant regsvr32), si les binaires être sous contrôle de version? Comment devrions-nous gérer l'enregistrement/désenregistrement des composants lorsque nous devons travailler sur les différentes branches (éventuellement avec une compatibilité COM différente)?
Sommes-nous loin du but?