depuis un certain temps maintenant, j'ai essayé de comprendre comment configurer un processus de construction automatisé dans notre boutique. J'ai lu beaucoup de messages et de guides sur ce sujet et aucun d'entre eux ne correspond vraiment à mes besoins spécifiques..NET projets construire l'automatisation avec NAnt/MSBuild + SVN
dépôt SVN Ma est aménagé comme suit
\projects
\projectA (a product)
\tags
\1.0.0.1
\1.0.0.2
...
\trunk
\src
\proj1 (a VS C# project)
\proj2
\documentation
J'ai un partage réseau, avec un dossier pour chaque projet (produit), qui à son tour contient les binaires, la documentation écrite et la documentation API générée (via NDoc - chaque projet peut avoir un fichier .ndoc dans le dépôt) pour chaque version historique (des balises dossier SVN) et pour la même dernière version (du tronc ).
Fondamentalement, ce que je veux faire dans une version de lot prévu sont les étapes suivantes:
- Examinez le dossier du projet SVN et identifier tag s pas présent dans le partage réseau
- pour chacun de ces balises
- départ le dossier tag
- build (avec config de sortie)
- copier les binaires résultant au partage réseau
- recherche de fichiers .ndoc
- générer des fichiers CHM via NDoc
- copie du CHM résultant des fichiers au partage réseau
- faites comme ci-dessus, mais pour la révision HEAD de tronc
Maintenant, le problème est, je n'ai aucune idée par où commencer. Je ne garde pas les fichiers .sln dans le dépôt, mais je suis capable de les remplacer par des fichiers MSBuild qui à leur tour génèrent les projets C# appartenant au produit spécifique. Je suppose que la partie la plus troublante est l'examen du référentiel pour les balises qui n'ont pas encore été traitées - c'est-à-dire la recherche des balises et leur comparaison à la structure de répertoire d'un projet sur le partage réseau. Je n'ai aucune idée de comment faire cela dans l'un des outils de construction (NAnt, MSBuild).
Pourriez-vous me donner quelques indications sur la façon d'aborder cette tâche dans son ensemble et en détail? Peu m'importe si j'utilise NAnt, MSBuild ou les deux. Je suis conscient que cela peut être assez complexe, mais chaque idée et extrait NAnt/MSBuild sera d'une grande aide.
Merci d'avance.