25Aug
Si vous êtes une équipe de développement d'un seul homme, vous n'avez probablement pas vraiment besoin d'un système de contrôle de version complet, mais la création de sauvegardes de code source pour chaque version publiée est sans aucun doute importante.
En tirant parti de la puissance des événements de post-construction et d'un simple script de traitement par lots, vous pouvez facilement ajouter la possibilité que Visual Studio crée automatiquement une sauvegarde de code source pour chaque version de code de version.
Fonctionnement
Notre solution est simple: chaque fois qu'un événement de génération réussi se produit, nous avons un script de traitement par lots qui crée une archive compressée( éventuellement étiquetée et horodatée) de tous les fichiers dans le dossier de projet Visual Studio respectif.
C'est tout. Tout ce que vous avez à faire est de suivre les étapes ci-dessous.
Configuration des sauvegardes de build automatiques
Vous devez d'abord télécharger et extraire le fichier de script batch à partir du lien situé en bas de l'article. De plus, vous aurez besoin de l'outil de ligne de commande 7-Zip( ceci est inclus avec la version 'complète' du script de sauvegarde de build de projet, ou vous pouvez le télécharger séparément).Dans notre exemple, nous avons extrait ces fichiers dans le répertoire "C: \ Tools", mais n'importe quel emplacement fonctionnera.
Ouvrez les propriétés de votre projet Visual Studio en double-cliquant sur Mon projet sous le projet correspondant.
Dans les propriétés du projet, allez à la section Compiler.
Dans le coin inférieur droit, cliquez sur le bouton Générer des événements.
Dans notre cas, nous voulons faire une sauvegarde après une action de compilation réussie. Assurez-vous que vous avez la possibilité d'exécuter l'événement post-build "En cas de réussite", puis cliquez sur le bouton Modifier après la génération.
La commande ci-dessous crée une sauvegarde de compilation uniquement pour la compilation de la configuration Release( c'est ce que vérifie la condition IF) car, de manière réaliste, nous ne voulons probablement pas faire une sauvegarde de chaque build Debug / testing. En outre, l'horodatage actuel sera ajouté( commutateur / D) avec le fichier de sauvegarde en format de fichier 7z( / 7z) par opposition à zip. En ajoutant le / T "$( ConfigurationName)" en tant que paramètre, nous ajoutons le type de construction( Release dans ce cas) au nom du fichier de sauvegarde.
IF "$( ConfigurationName)" == "Libérer" CALL C: \ Outils \ ProjectBuildBackup.bat "$( SolutionDir)" "$( ProjectDir)" "$( NomProjet)" / T "$( ConfigurationName)" / D/ 7z
En utilisant le bouton Macros, vous pouvez avoir des informations spécifiques à un projet de Visual Studio, donc aucun codage en dur n'est requis. Vous pouvez ajuster cette commande si nécessaire( en particulier l'emplacement du fichier batch), mais les trois premiers paramètres n'auront probablement pas besoin d'être modifiés.
Il est important de garder à l'esprit que les opérations post-événement sont exécutées quelle que soit la configuration du projet sélectionnée. C'est pourquoi nous devons ajouter l'instruction IF "$( ConfigurationName)" == "Release" - sinon l'action de sauvegarde se produirait sur à chaque événement de génération réussi.
Une fois que vous avez terminé votre commande et que vous l'avez appliquée, la chaîne de commande doit apparaître dans la section Événements post-construction.
Notez que bien que la commande "CALL" ne soit pas techniquement requise, elle est fortement recommandée, car si elle est omise, les événements ajoutés après cela peuvent ne pas s'exécuter.
Maintenant, lorsque vous exécutez une compilation / construction avec votre projet dans la configuration Release, vous verrez la sortie de l'opération de sauvegarde build.
[...]
Chaque version Release réussie crée une nouvelle archive horodatée avec le dossier de la solution dans un sous-répertoire, "Builds"( qui peut être personnalisé avec le commutateur / O si nécessaire).
Le contenu de chaque sauvegarde est le projet Visual Studio complet( fichiers source, paramètres de configuration, fichiers binaires compilés, etc.), ce qui en fait une véritable sauvegarde ponctuelle.
Pas un remplacement pour un système de contrôle de version complet
En terminant, nous voulons juste réitérer que cet outil n'est pas destiné à remplacer un système de contrôle de version complet. C'est simplement un outil utile pour les développeurs de créer des instantanés du code source de leur projet après chaque compilation.
Si vous deviez revenir en arrière et examiner une version antérieure, disposer d'un fichier de projet prêt à l'emploi( juste extraire dans un nouveau répertoire) pour un moment donné, la compilation peut vraiment être utile.
Liens
Télécharger Projet Construire Script de Sauvegarde
Télécharger Outil de Ligne de Commande 7-Zip( Note - l'utilitaire 7za est également fourni avec un téléchargement du script de Construction de Projet)