Buenas,
otro de los temas que surgió en la mesa redonda el miércoles con los chicos de MadridDotNet, estaba relacionado con la necesidad de mover contenidos desde un Team Project hacia otro Team Project. Si bien la plataforma de integración desarrollada por los Visual Studio ALM Rangers: TFS Integration Platform, no resuelve al 100% el problema, si nos permite mover/sincronizar los elementos del Source Control y los WorkItems entre 2 TPs.
En el siguiente paso a paso, demostraré como sincronizar los contenidos del Team Project [Tailspin Toys] que viene de ejemplo en las máquinas virtuales de Trial de Team Foundation Server 2010 hacia otro Team Project llamado [TPA].
Tutorial
1. Descargamos e instalamos la última versión de TFS Integration Platform desde CodePlex
2. Lanzamos la aplicación [TFS Integration]
3. Creamos un nuevo proyecto de integración seleccionado la opción [Create New]
4. Entre las plantillas de proyecto, ubicadas en
[%Program Files%\Microsoft Team Foundation Server Integration Tools\Configurations\Team Foundation Server]
seleccionamos [VersionControlAndWorkItemTracking.xml] que nos permitirá sincronizar contenidos del Source Control y WorkItems.
5. En este momento podremos ver en el formulario de configuración del proyecto que debemos completar los siguientes elementos:
- Nombre del proyecto
- Tipo de sincronización
- Origen del Source Control
- Destino del Source Control
- Origen de los WorkItems
- Destino de los WorkItems
6. Para este post, he definido el nombre como “Post01” y el tipo de sincronización como “One-way migration”.
7. En la sección [Version Control Selection // Left Source] seleccionamos el proveedor para conectarnos con TFS2010.
8. Seleccionamos el Team Project [Tailspin Toys] desde la colección correspondiente:
9. En la sección [Version Control Selection // Right Source] seleccionamos el proveedor para conectarnos con TFS2010 y a continuación el Team Project [TPA].
10. En este punto podemos definir los elementos del Source Control que queremos sincronizar desde un TP a otro. En este caso moveremos todo el contenido del Left Source en [Tailspin Toys] hacia una rama llamada [TfsSync] en el Team Project [TPA].
Seleccionamos esta rama:
11. El mapeo del source control debería quedar similar a la siguiente imagen:
12. A continuación definiremos las opciones para la migración de WorkItems. En la sección [WorkItem Tracking Section // Left Source] seleccionamos el proveedor para TFS2010 y seleccionamos el Team Project [Tailspin Toys].
13. En la sección [WorkItem Tracking Section // Right Source] seleccionamos el proveedor para TFS2010 y seleccionamos el Team Project [TPA].
14. La configuración debe quedar similar a la siguiente imagen:
15. En la sección queries podemos definir un filtro específico para definir los WorkItems que deseamos sincronizar. Para este ejemplo, utilizaremos la opción por defecto que migra todos los elementos entre los 2 Team Projects.
16. Guardamos la configuración en la base de datos.
17. Lanzamos la sincronización con la opción [Current Migration // Start]. Esta opción nos muestra el formulario de sincronización, en el que podremos ver el progreso de la misma. Por ejemplo:
18. Una vez que se han descubierto los elementos a migrar, se procede a analizar el contenido de los mismos para ver si existe algún error potencial:
19. Finalizados los procesos de Discovery y Analysis, se procede a la migración:
20. Una vez finalizada la migración, podremos ver el resultado la misma. En este punto es recomendable ver el Log de migración para comprender mejor el detalle de lo que realiza la herramienta.
21. Si dentro del Team Project [TPA] vemos el contenido del Source Control, veremos que se han importado los elementos desde el otro Team Project.
22. En el histórico de un elemento, podremos ver que se han replicado los elementos del histórico original del Team Project de origen y además en el comentario, se ha agregado información del proceso de migración/sincronización.
23. De la misma forma, si analizamos los WorkItems migrados, podremos ver que en el histórico de los mismos aparece la información histórica de los WI originales. En este caso, la User Story 99 del Team Project [TPA], se corresponde con el WorkItem 24 del Team Project [Tailspin Toys]. En el histórico podremos ver la referencia entre los mismos.
Hasta aquí un pequeño tutorial para la sincronización de datos entre 2 TPs, en el próximo post un poco más de información al respecto.
Saludos @ Home
El Bruno
2 thoughts on “[TFS2010] Moviendo/sincronizando contenidos entre diferentes Team Projects (I)”