2011-08-09 25 views
10

Hace poco me hice cargo de un producto de software que se desarrolló bastante desorganizado y he establecido una nueva estructura de proyecto, un repositorio de código fuente, seguimiento de problemas y un sistema de compilación utilizando nant y teamcity. Estoy en el punto donde cada compromiso con una de las ramas principales se compila, prueba y construye en una configuración.¿Qué es una buena práctica para construir parches de software?

Crear y enviar configuraciones completas siempre me parece incorrecto y me gustaría establecer algún tipo de construcción automática de parches, pero no tengo idea de cómo hacerlo. ¿Tiene alguna sugerencia de cómo podría hacer eso o dónde podría encontrar información sobre el tema? Google no fue de ayuda hasta ahora.

Algunos detalles más sobre mi configuración actual:

Repositorio: - git: - 2 ramas principales: el desarrollo y la maestra

sistema de construcción: - TeamCity - 2 configuraciones: una para la construcción cada rama - construcción consta de una sola etapa de construcción: - Nant corredor: la escritura de Nant es parte del repositorio y contiene los siguientes objetivos: limpio, init, compilar, probar, implementar, build_setup (usando Inno setup)

Supongo que tendré que dividir la secuencia de comandos nant en pedazos y utilizar diferentes pasos de compilación para comparar de alguna manera los nuevos artefactos de compilación con los antiguos y crear un parche que contenga los archivos actualizados. Estoy en el camino correcto y, de ser así, ¿alguien sabe un buen ejemplo o tutorial sobre cómo configurar Teamcity?

Respuesta

2

A menos que lo que tiene es una aplicación masiva de usuario final de varios megabytes, la generación de parches (que supongo que quiere que sean mínimos) es una tarea desalentadora, ya que tendrá que proporcionar parches de cada versión anterior al el más actualizado.

Como alternativa, puede invertir en la infraestructura de actualización automática, de modo que una aplicación se actualice cada vez que se lance una nueva versión.

En cuanto a las configuraciones de construcción para cada confirmación, personalmente no creo que sea necesario a menos que esté probando continuamente el programa de instalación. Por el contrario, la compilación completa debe activarse manualmente, cada vez que sea necesario lanzarla.

+0

Es una aplicación de usuario final ~ 250MB, pero el tamaño proviene de todo tipo de archivos de ejemplo, tutoriales y dependencias de terceros. En cuanto a crear siempre una configuración: en mi humilde opinión, siempre es mejor enviar la versión más reciente y sin errores de un software, porque como usuario de software siempre me pregunto por qué un nuevo software que acabo de descargar e instalar tiene que descargar parches. ¿Un sistema de actualización automática no descarga e instala parches? – Gooo

0

Debería ver algo como ClickOnce de Microsoft para actualizaciones/parches.

Cuestiones relacionadas