2009-11-03 8 views
1

Mon dernier employeur avait développé un système élaboré qui était au sommet de SVN pour gérer le développement en cours: (change management) examine les bugs/problèmes et les associe à commit quand il commet le commit en tagant le numéro d'identification du bogue et (release management) étiqueter les éléments dans SVN dans le cadre d'une version spécifique basée sur le système de suivi des bogues/problèmes. Cette deuxième partie a été associée à un flux de travail pour obtenir la signature des utilisateurs/de la direction. Puis, au moment de la publication (généralement tous les jeudis soirs), ils pouvaient lancer une commande pour extraire tout le code étiqueté et le déployer.Quelle est la bonne façon de gérer une version avec SVN?

Ma nouvelle entreprise est beaucoup plus petite et je suis intéressé à trouver un équivalent à faible coût/maintenance réduite, même si cela signifie simplement traiter directement avec SVN. En particulier, je trouve régulièrement des commits tard dans le jeu brisant notre construction, et il devient très difficile de démêler ce que nous pouvons inclure. (En ce qui concerne la gestion de SVN, j'ai tendance à préférer l'idée de tags sur branches parce qu'elle nécessite moins de prévoyance, mais je suis heureux d'être convaincu autrement.)

Qu'est-ce que les gens utilisent pour marquer commet une publication et faire un déploiement ultérieur? Existe-t-il de bonnes solutions open-source pour gérer un cycle de publication qui vous permet de parcourir le SVN à partir d'un navigateur Web et de marquer les problèmes/validations d'une version? La meilleure chose que j'ai vue jusqu'ici est Jira, mais cela ressemble à un très gros outil (est-ce difficile à configurer/maintenir?). La Fondation Apache fait bon usage de Jira à cette fin (voir, par exemple, the Mahout roadmap). Aller encore plus loin serait de faire en sorte que ce même système comprenne également une intégration continue afin que nos tests unitaires puissent être exécutés avec chaque validation et que chaque bogue/problème aurait également cette information associée.

Note: Il y a quelques questions sur StackOverflow, mais je ne vois pas un peu en rapport couvrant tout cet aspect du cycle de déploiement et la gestion des versions (voir release-management-in-svn, manage-your-project-life-cycle et best-way-to-handle-change-management).

Répondre

2

Si vous constatez que les vérifications de construction sont trop tardives pour les résoudre efficacement, vous devez absolument sauter dans le train CI avant de commencer à vous inquiéter du processus de validation. Rendre les développeurs responsables de l'intégrité de la construction est un processus beaucoup plus facile quand il y a des e-mails qui sortent chaque fois que quelqu'un vérifie quelque chose dans ce vis le chien. Faites-en un jeu; Celui qui casse le build doit le garder jusqu'à la prochaine fois qu'il se casse. La mise en place et l'exécution de CruiseControl (j'ai utilisé CC.NET) ne sont pas si difficiles avec subversion (je n'ai pas eu de processus de build pour parler de build et de déploiement complètement automatisés avec CC.NET et NAnt dans un mois, entrelacé avec d'autres responsabilités bien sûr). Nous utilisons également JIRA et il est difficile de se tromper là-bas. Vous pouvez faire en sorte que JIRA regarde les messages de validation subversion pour des choses comme "Fixed PROJECT-11" et fermera automatiquement l'élément JIRA approprié. Vous pouvez créer vos notes de version à partir de là.

Questions connexes