En exploitant la puissance des événements post-génération et un script de traitement par lots simple, vous pouvez facilement ajouter la possibilité pour que Visual Studio crée automatiquement une sauvegarde de code source pour chaque génération de code de version.
Comment ça marche
Notre solution est simple: chaque fois qu'un événement de construction réussi se produit, nous exécutons un script de traitement par lots qui crée une archive compressée (éventuellement étiquetée et horodatée) de tous les fichiers du dossier de projet Visual Studio correspondant.
C'est tout. Tout ce que vous avez à faire est de suivre les étapes ci-dessous.
Configuration de sauvegardes de construction automatiques
Tout d'abord, vous devez télécharger et extraire le fichier de script de traitement par lots à partir du lien situé au bas de l'article. De plus, vous aurez besoin de l’outil de ligne de commande 7-Zip (il est inclus avec la version «complète» du script Project Build Backup 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.
La commande ci-dessous crée une sauvegarde de construction uniquement pour la compilation de la configuration de la version (c’est ce que vérifie la condition IF) car, de manière réaliste, nous ne souhaitons probablement pas effectuer de sauvegarde de chaque construction Debug / testing. En outre, l'horodatage actuel sera ajouté (commutateur / D), le fichier de sauvegarde étant au format de fichier 7z (/ 7z), par opposition à zip. En ajoutant le paramètre / 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)” == “Release” CALL C:ToolsProjectBuildBackup.bat “$(SolutionDir)” “$(ProjectDir)” “$(ProjectName)” /T “$(ConfigurationName)” /D /7z
En utilisant le bouton Macros, vous pouvez pré-remplir des informations spécifiques à un projet avec Visual Studio, de sorte qu'aucun codage en dur n'est requis. Vous pouvez ajuster cette commande selon vos besoins (notamment l'emplacement du fichier de commandes), 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 de projet sélectionnée. C’est la raison pour laquelle nous devons ajouter l’instruction IF “$ (NomConfiguration)” == “Publication” - sinon l’action de sauvegarde se produirait le chaque événement de construction réussi.
Notez que bien que la commande “CALL” ne soit pas techniquement nécessaire, il est vivement recommandé, car si cette option est omise, tous les événements ajoutés après cette opération risquent de ne pas s'exécuter.
Pas un remplacement pour un système de contrôle de version complet
En conclusion, nous souhaitons simplement réitérer que cet outil n’est pas destiné à remplacer un système de contrôle de version complet. Il s’agit simplement d’un outil utile permettant aux développeurs de créer des instantanés du code source de leur projet après chaque compilation.
Si vous devez revenir en arrière et examiner une version antérieure, disposer d'un fichier de projet prêt à l'emploi (tout simplement extraire dans un nouveau répertoire) pour une compilation à un moment donné peut s'avérer très utile.
Liens
Télécharger le script de sauvegarde de génération de projet
Télécharger l'outil de ligne de commande 7-Zip (Remarque - l'utilitaire 7za est également fourni avec un téléchargement à partir du script Project Build Backup)