TFS 2010: use el nombre de la etiqueta en formato de número de compilación

Estoy intentando configurar una compilación con TFS 2010. Quiero que el formato del número de compilación sea algo así como $ (BuildDefinitionName) _ $ (versión) dónde $ (Versión) es la versión (etiqueta o conjunto de cambios) especificada en el campo "Obtener versión" del cuadro de diálogo "Generación de cola". Si no hay una versión específica, me gustaría que la versión fuera más reciente.

Busqué en Google para eso, pero soy nuevo en msbuild y TFS build, así que no estoy seguro de qué debo buscar para comenzar.

Gracias.

preguntado el 10 de mayo de 11 a las 13:05

2 Respuestas

La actividad Microsoft.TeamFoundation.Build.Workflow.Activities.UpdateBuildNumber en su plantilla de compilación (por ejemplo, DefaultTemplate.xaml) es lo que hace el trabajo de transformar su cadena de formato de número de compilación. Toma cualquiera de los parámetros enumerados aquí, sin embargo, la versión (su conjunto de cambios o etiqueta) no es una de las etiquetas admitidas.

Una solución alternativa que encontré que no requiere código personalizado es editar el argumento BuildNumberFormat inmediatamente antes de que lo use la actividad Actualizar número de compilación.

  1. Abra la plantilla xaml usando el editor de GUI y busque la actividad Actualizar número de compilación en la parte superior.
  2. Busque las Primitivas -> Asignar actividad en la Caja de herramientas. Arrástrelo y suéltelo justo encima del Número de compilación de actualización.
  3. Edite la actividad Asignar para asignar el valor String.Format("$(BuildDefinitionName)_$(Date:yyyyMMdd)_{0}$(Rev:.r)", BuildDetail.SourceGetVersion) a BuildNumberFormat. SourceGetVersion extraerá el número de conjunto de cambios o la etiqueta utilizada para activar la compilación. Si no se especifica nada en el cuadro de diálogo Obtener versión cuando está poniendo en cola su compilación, entonces el número de conjunto de cambios se usa de forma predeterminada (por ejemplo, C16044).

contestado el 01 de mayo de 15 a las 05:05

Se ve genial. Lo probaré. Gracias. - mberube.Net

Para cualquier otra persona que use TFS2013: esto no parece funcionar y falla con el siguiente error: "Microsoft.TeamFoundation.Build.Client.BuildDetails no es accesible en este contexto porque es 'Friend'" - andersr

@andersr Por el contrario, para mí funciona exactamente como se describe (Tfs2013.Update2) - zzz

¡Funciona muy bien en TFS 2010! - Lennart

contestado el 25 de mayo de 11 a las 01:05

Gracias por el enlace. Revisaré esto. - mberube.Net

Se ve bien, pero no es exactamente lo que estoy buscando. Pero gracias de todos modos por tu ayuda. - mberube.Net

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.