2011-02-14 6 views
7

Actualmente estoy trabajando en la creación de una plantilla de compilación para las compilaciones TFS2010. Sin embargo, me doy cuenta de que actualmente estoy 'enviando correo no deseado' al control de origen con cada cambio que realizo en la plantilla (y mucho más para todas las soluciones para esos cambios).La forma más fácil de probar la plantilla de compilación TFS2010

Me pregunto cuál es la forma más fácil de probar las plantillas de compilación que estoy creando? ¿Hay alguna manera de cambiar el archivo de plantilla y las dlls de actividad personalizadas que no implican registrarlas?

Actualmente tengo un controlador de compilación y un agente ejecutándose en mi máquina de desarrollo, que estoy usando para probar la plantilla (prueba = iniciar una compilación y espero que haya menos errores que la última vez).

+1

Han pasado más de dos años y una nueva versión de TFS y VS, y todavía no hay solución a este problema. ¿Alguien sabe de algún comentario de Microsoft Connect sobre este tema que podamos votar? – user392139

Respuesta

4

¿Por qué es 'spamming' un problema? De todos modos, tengo un Team Project por separado para hacer este tipo de trabajo, de esa manera puedo verificar el contenido de mi corazón sin afectar a los desarrolladores que necesitan tener una compilación estable. una vez que realicé las pruebas, verifico la plantilla en los proyectos del equipo utilizados por los desarrolladores.

+0

Me siento muy incómodo revisando los cambios de los cuales no tengo ni idea de si son correctos. –

+0

Eso es bastante justo Patrick, es mejor prevenir que lamentar. Solo estaba intentando (y fracasando) ser gracioso –

0

Quiero probar mis compilaciones contra la última base de código del equipo sin tener que ramificarlo a un proyecto de prueba.

En cambio, hago lo siguiente:

  1. crear una definición de la acumulación separada llamada 'infraestructura'
    • clon de una definición de producción
  2. Establecer el gatillo en la definición de infraestructura de generación para el manual .
  3. Establezca los permisos de definiciones de infraestructura para permitir que solo los miembros del grupo [Proyecto] \ Build tengan control total sobre él.
    • mantiene la notificación de compilaciones rotas lejos del grueso del equipo).
  4. Cree una plantilla de proceso de compilación independiente, llamada 'Infrastructure.xaml'.
  5. Apunte la definición de compilación de infraestructura en la plantilla de proceso de infraestructura.

Ahora cuando quiero iterar sobre una nueva característica de compilación para el equipo:

  1. Mira la plantilla de proceso de construcción Quiero actualizar, y bloquearlo.
  2. Copie la plantilla del proceso de compilación que quiero actualizar sobre el Infraestructura.xaml.
  3. Agregue mi característica de compilación al archivo Infrastructure.xaml y compruébalo en.
  4. Use la definición de compilación de Infraestructura para probar mis cambios.
  5. Iterar más de 3-4 hasta que lo haga bien.
  6. Complete la función y haga que mis cambios sean verificados por otro miembro del equipo de Infraestructura.
  7. Copia Infrastructure.xaml sobre la plantilla de proceso de la estructura I encerrado en (1) y comprobar que funciona en.

Esto todavía da lugar a 'spam' en el control de la fuente de TFS, pero mantiene la iteración de definición de build a cabo de los ojos del equipo.Mis plantillas de proceso de compilación están ubicadas fuera del árbol de fuentes principal (en la carpeta Plantillas de proceso de compilación, o en las propias sucursales en una carpeta 'Core/Build' donde nadie más en el equipo suele prestar atención) para que el el equipo no se ve afectado en gran medida por eso.

0

@ d3r3kk: ¿Por qué no ramifica la plantilla y fusiona los cambios cuando están listos en lugar de crear copias? De esta forma, puedes preservar el historial de fuentes de una manera más limpia también.

Idealmente, debería haber una manera de tener una plantilla de proceso de compilación en progreso al tenerla en su sistema de archivos local y apuntar la definición de compilación a ella temporalmente. No estoy seguro de si algo como esto existe en versiones posteriores de VS/TFS. No lo he visto disponible a través de la interfaz de usuario de todos modos.

Cuestiones relacionadas