Pasos para cambiar la plantilla de proceso para un proyecto existente en TFS 2010


Tengo una instalación de servidor TFS que con el tiempo ha pasado por actualizaciones de TFS 2005 a TFS 2008 y luego a TFS 2010. Durante la vida útil de la instalación se han creado muchos proyectos y se han utilizado diferentes plantillas de proyecto. MSF Agile 4.0, 4.1, 4.2 y 5.0. y unos cuantos MSF CMMI.

Lo que me gustaría hacer es "reemplazar" la plantilla de proyecto utilizada para todos estos proyectos para usar una nueva común: Microsoft Visual Studio Scrum 1.0.

Yo soy tenga en cuenta que las plantillas de proyectos TFS se utilizan como plantillas para crear nuevos proyectos y no pueden modificar las definiciones de proyectos tfs después de la creación.

Hasta ahora solo se ha utilizado la parte de control de versiones y servidor de compilación de TFS y no hay tipos de elementos de trabajo existentes.

Además, todos los proyectos y scripts de compilación dependen de las rutas de acceso del código fuente.

Como yo lo veo, tengo las siguientes opciones:

Crear nuevos proyectos TFS usando la plantilla de proyecto correcta y luego mover / ramificar el código fuente al nuevo proyecto.

  1. Todo el código se mueve a un proyecto de equipo temporal.
  2. El antiguo proyecto se elimina
  3. Se crea un nuevo proyecto con el nombre original y la plantilla de proceso correcta
  4. El código se mueve al nuevo proyecto de equipo
  5. Se elimina el proyecto temporal del equipo

    • Todas las definiciones de construcción deben ser recreadas, lo que no es un opcion.

    • El movimiento/rama del código fuente "estropeará" el historial de versiones

texto alt
Al estropear el historial de versiones, quiero decir que cuando muevas el código fuente, detrás de las escenas hará un cambio de nombre de la fuente + delete en la ubicación original y el historial seguirá estando ubicado en el proyecto antiguo. Esto hará que la búsqueda en la historia difícil y si realmente eliminar el proyecto antiguo voy a perder toda la historia antes de la fuente código de movimiento.

Esto realmente no es una opción para mí, ya que hay años de historial de cambios de código que se necesitan para soportar las diferentes aplicaciones que se están construyendo.

Utilice las herramientas de migración de TFS para migrar a otro proyecto de TFS

  • Esto tiene las mismas desventajas que la primera solución

Reemplazar / importar tipos de elementos de trabajo, instalar nuevos informes, crear nuevos sitios de SharePoint

Para cada ft proyecto

  • Eliminar definiciones de elementos de trabajo existentes utilizando "witadmin deletewitd"

  • Importe cada definición de elemento de trabajo de la nueva plantilla de proceso utilizando "witadmin importwitd"

  • Importar categorías de elementos de trabajo usando "witadmin importcategories"

  • Eliminar informes antiguos en la carpeta del proyecto en el servidor de informes

  • Cargar las definiciones de informe desde la nueva plantilla de proceso

  • Modificar las fuentes de datos se utiliza para los informes que utilizan el administrador de informes para apuntar a las fuentes de datos compartidas correctas (TfsReportDS y TfsOlapReportsDS)

  • Modifique el valor predeterminado del parámetro de informe ExplicitProject a "" (cadena vacía)y deshabilite la opción prompt user.

  • Exporte los documentos en el antiguo sitio de SharePoint usando stsadm

  • Eliminar el antiguo sitio de SharePoint

  • Vuelva a crear el sitio de Sharepoint utilizando el sitio de panel ágil TFS2010 plantilla

  • Activar la función del sitio "Team Foundation Server Scrum dashboard"

  • En TFS Project Settings - > Project Portal Settings: Habilite "team project portal" y asegúrese de que la url sea correcta. Habilite "informes y paneles se refieren a datos para este proyecto de equipo"

Y finalmente..

  • Procesar el Almacén

  • Procesar la Base de Datos de Análisis

A pesar de que esto implica una gran cantidad de pequeños pasos esto se ve más atractivo porque esta opción no me obligará a mover el código fuente y mis definiciones de compilación existentes estarán intactas.

Mi pregunta:

¿Hay otras formas de lograr el reemplazo de los tipos de elementos de trabajo que no he mencionado?

Y/o ¿me falta algún paso en la última solución?

Author: Martin Hyldahl, 2010-09-29

2 answers

Dado que no está utilizando ningún tipo de elemento de trabajo existente, su propuesta final parece la mejor opción.

Después de eliminar los informes antiguos y exportar los documentos de SharePoint (también podría usar el Explorador de Windows en lugar de stsadm), en realidad hay dos comandos en 'tfpt' que le ayudarán. Esto lo reducirá de 14 pasos a 5 o 6 pasos.

tfpt addprojectreports  Add or overwrite reports for an existing team project
tfpt addprojectportal   Add or move portal for an existing team project

tfpt addprojectreports /collection:http://yourtfs:8080/tfs/YourCollection /teamproject:"Your Team Project" /processtemplate:"Microsoft Visual Studio Scrum 1.0" /verbose
tfpt addprojectreports /collection:http://yourtfs:8080/tfs/YourCollection /teamproject:"Your Team Project" /processtemplate:"Microsoft Visual Studio Scrum 1.0" /verbose 
 12
Author: Grant Holliday,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-01 03:43:54

Tu primera opción es en mi humilde opinión tu mejor tiro. Puede ramificar las fuentes del antiguo proyecto de equipo al nuevo proyecto de equipo. Con TFS 2010 se puede ver la historia también desde la ubicación ramificada. Así que no pierdes funcionalidad aquí.

La compilación es solo un archivo msbuild que se almacena en el control de código fuente. Lo único que tienes que hacer es copiar las definiciones de compilación. Puedes hacerlo manualmente, o puedes crear una pequeña aplicación que lo haga por ti.

 0
Author: Ewald Hofman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-29 18:31:04