25Aug

Cómo crear copias de seguridad automáticas en Visual Studio

Si usted es un equipo de desarrollo de un solo hombre, es probable que realmente no necesite un sistema completo de control de versiones, sin embargo, es importante crear copias de seguridad de los códigos fuente para cada versión lanzada.

Al aprovechar el poder de los eventos posteriores a la construcción y un simple script por lotes, puede agregar fácilmente la capacidad de que Visual Studio cree automáticamente una copia de seguridad del código fuente para cada compilación del código de publicación.

Cómo funciona

Nuestra solución es simple: siempre que se produce un evento de compilación exitoso, tenemos una ejecución de script por lotes que crea un archivo comprimido( opcionalmente etiquetado y marcado) de todos los archivos en la carpeta del proyecto de Visual Studio correspondiente.

Eso es todo. Todo lo que tienes que hacer es seguir los pasos a continuación.

Configuración de copias de seguridad automáticas

Primero tendrá que descargar y extraer el archivo de script por lotes desde el enlace al final del artículo. Además, necesitará la herramienta de línea de comandos 7-Zip( esto se incluye con la versión "completa" de la secuencia de comandos Project Build Backup, o puede descargarla por separado).En nuestro ejemplo, extrajimos estos archivos al directorio "C: \ Tools", pero cualquier ubicación funcionará.

Abra sus propiedades de Visual Studio Project, haciendo doble clic en Mi proyecto debajo del proyecto respectivo.

En las propiedades del proyecto, vaya a la sección Compilar.

En la esquina inferior derecha, haga clic en el botón Crear eventos.

En nuestro caso, queremos hacer una copia de seguridad después de una acción de compilación exitosa. Asegúrese de tener la opción de ejecutar el evento de creación posterior "En la compilación correcta" y luego haga clic en el botón Editar creación posterior.

El siguiente comando crea una copia de seguridad de compilación solo para la compilación de la configuración de Release( esto es lo que verifica la condición de IF) ya que, de manera realista, probablemente no queremos hacer una copia de seguridad de cada compilación Debug / testing. Además, se agregará la marca de tiempo actual( / D cambiar) con el archivo de copia de seguridad en formato de archivo 7z( / 7z) en lugar de zip. Al agregar / T "$( ConfigurationName)" como parámetro, agregamos el tipo de compilación( versión en este caso) al nombre del archivo de copia de seguridad.

IF "$( ConfigurationName)" == "Versión" CALL C: \ Tools \ ProjectBuildBackup.bat "$( SolutionDir)" "$( ProjectDir)" "$( ProjectName)" / T "$( ConfigurationName)" / D/ 7z

Usando el botón Macros, puede hacer que Visual Studio prellene la información específica del proyecto para que no se requiera ninguna codificación. Puede ajustar este comando según sea necesario( especialmente la ubicación del archivo por lotes), pero los primeros tres parámetros probablemente no necesiten cambiarse.

Es importante tener en cuenta que las operaciones posteriores al evento se ejecutan independientemente de la configuración del proyecto seleccionada. Es por esto que necesitamos agregar la declaración IF "$( ConfigurationName)" == "Release" - de lo contrario la acción de copia de seguridad ocurriría en cada evento de construcción exitoso .

Una vez que termine su comando y lo aplique, la cadena de comando debería aparecer en la sección de eventos posteriores a la construcción.

Tenga en cuenta que si bien el comando "CALL" no es técnicamente necesario, es muy recomendable, ya que si se omite, los eventos añadidos después de esto pueden no ejecutarse.

Ahora, cada vez que ejecute una compilación / compilación con su proyecto en la configuración de Release, verá el resultado de la operación de compilación de respaldo.

[...]

Cada compilación de versión exitosa crea un nuevo archivo con marca de tiempo con la carpeta de solución en un subdirectorio, "compilaciones"( que se puede personalizar con el modificador / O si es necesario).

El contenido de cada copia de seguridad es el proyecto completo de Visual Studio( archivos de origen, configuración, binarios compilados y todo), lo que hace que sea una verdadera copia de seguridad puntual.

No es un reemplazo para un sistema de control de versión completo

Para terminar, solo queremos reiterar que esta herramienta no está destinada a reemplazar un sistema completo de control de versiones. Es simplemente una herramienta útil para que los desarrolladores creen instantáneas del código fuente de su proyecto después de cada compilación.

En caso de que alguna vez tenga que regresar y examinar una versión anterior, tener un archivo de proyecto listo para usar( simplemente extraerlo a un nuevo directorio) para una compilación puntual puede ser realmente útil.

Links

Descargar Project Build Backup Script

Descargar 7-Zip Command Line Tool( Nota: la utilidad 7za también se incluye con una descarga del script Project Build Backup)