Y es que cuando se trata de administrar y trabajar con TFS, toda
ayuda es poca, ya que son muchas cosas a tener en cuenta: work
items, control de versiones, usuarios… Por eso, una de mis primeras
recomendaciones siempre es instalar la última versión de las Power
Tools de Microsoft: http://tinyurl.com/tfs-powertools-es. Es
importante decir además que Microsoft las actualiza cada cierto
tiempo, por lo que debemos estar atentos a las noticias, para
disponer siempre de la última versión.
En el momento en que se escriben estas líneas, la última versión de
las Power Tools corresponde a octubre de 2008, y son para TFS 2008.
Dentro de este conjunto de herramientas encontramos las siguientes
utilidades:
• Team Foundation Server Power Tool Commands
(tfpt.exe).
• Build Notification.
• Process Template Editor.
• Check-In Policy Pack.
• Team Foundation Server Best Practices Analyzer.
• Work Item Templates.
• TFS Server Manager.
• TFS Users.
• Alert Editor.
• Integración con el Explorador de ficheros de Windows.
Instalación de las Power Tools
Antes de empezar, mencionaremos un par de detalles relacionados con
la instalación. En primer lugar, si no lo tenemos ya instalado,
necesitaremos instalar Windows PowerShell. Con las Power Tools
también se incluyen varios cmdlets para automatizar ciertas tareas
con PoweShell, principalmente a nivel de control de código fuente.
Además, la utilidad Best Practices Analyzer utiliza PowerShell. Por
todo ello, antes de instalar las Power Tools debéis instalar
PowerShell.
Otro detalle relacionado con la instalación es que, si queremos la
integración con el Explorador de ficheros de Windows, en la
pantalla que se nos pregunta el tipo de instalación, típica o
personalizada (figura 1), deberemos escoger la personalizada y
marcar la opción "Windows Shell Extension".
TFS Server Manager
TFS Server Manager es una herramienta muy útil a la hora de
gestionar un servidor TFS, y que viene incluida en las Power Tools,
aunque un poco escondida, ya que no tenemos un acceso directo a
ella. Para ejecutarla, debemos abrir en el Explorador de Windows la
ruta donde hayamos instalado las Power Tools, que usualmente será
C:\Archivos de programa\Microsoft Team Foundation Server 2008 Power
Tools, y ejecutar el fichero TfsServerManager.exe.
Es importante reseñar que la cuenta de usuario con la que
ejecutemos esta aplicación debe tener acceso a las bases de datos
de TFS en la capa de datos del servidor, ya que TF Server Manager
ejecuta directamente consultas contra las bases de datos, usando
las credenciales del usuario que ejecuta la aplicación.
Lo primero que vemos al ejecutar esta aplicación es una pantalla
mostrándonos un listado con los servidores de TFS a los que nos
hayamos conectado previamente mediante Team Explorer (figura 2).
Al hacer doble clic sobre el servidor TFS que queremos administrar,
se nos muestra una ventana con diferentes pestañas con las opciones
que tenemos disponibles en esta herramienta.
La primera pestaña ("Requests") nos proporciona información acerca
de las peticiones que se han hecho al servidor. Por ejemplo, si
pulsamos el botón "Completed Requests", veremos algo similar a lo
que muestra la figura 3. Aquí se nos permite ver, mediante varios
filtros, un histórico de las peticiones realizadas al servidor.
Podemos filtrar por usuario, aplicación de origen (por ejemplo
Visual Studio, MS Build, Teamprise, etc.), IP de cliente y duración
de la petición. Además, tenemos la opción de incluir únicamente las
peticiones que hayan producido un error, así como filtrar por los
distintos tipos de comandos disponibles en TFS, como peticiones de
control de versiones o seguimiento de work items.
Si hacemos doble clic sobre cualquiera de los resultados,
obtendremos más información acerca de esa petición en concreto
(figura 4). Gracias a esta funcionalidad, podemos obtener un nivel
de detalle muy bueno sobre las acciones que se han realizado, a la
hora de trazar errores en el servidor, o de detectar qué acciones
han podido ocasionar problemas en el mismo.
En la siguiente pestaña ("Summary") se nos muestra información
acerca de si el servidor está funcionando (basándose en si se puede
conectar con él), cuánto tiempo lleva ejecutándose, el tiempo
transcurrido desde el último reinicio y si tenemos activado el log
a nivel de servidor. Como podéis ver, esta pestaña es simplemente
informativa.
En la pestaña "Statistics" (figura 5), se nos presenta información
acerca de los usuarios, work items, control de versiones,
resultados de builds y tests, y la actividad de los últimos 7 días.
Si alguno estáis al tanto de los informes de dogfooding de los TFS
de Microsoft que publicaba Brian Harry en su blog
(http://blogs.msdn.com/bharry/), seguro que este tipo de
información os suena.
Si dentro de esta pestaña nos movemos hacia el final, obtendremos
aún más información que podemos filtrar (figura 6). Aquí podemos
obtener toda la información de actividad, filtrada por comando,
usuario, aplicación e IP cliente.
Una vez obtenido el informe por el filtro deseado, si seleccionamos
cualquier registro y pulsamos el botón "Drill Down" obtendremos más
información del registro, dependiendo del tipo de filtro aplicado.
Una vez en esa ventana (figura 7), podremos movernos más hacia
abajo en el detalle mediante un nuevo botón "Drill Down", o navegar
hacia arriba mediante el botón "Drill Up".
La siguiente pestaña ("Health") nos proporciona una información
resumida del Visor de eventos de Windows, limitándose únicamente a
los avisos referentes a nuestro TFS. En ella se nos muestra, en una
línea temporal, los avisos y los fallos registrados en el Visor de
eventos. Podremos ir haciendo zoom hacia arriba o hacia abajo, para
aumentar esa línea temporal y poder ver, de un vistazo rápido, los
fallos y/o avisos registrados (figura 8).
Ya por último, en la pestaña "Maintenance" se nos muestra
información acerca de:
• Workspaces: un listado de todos los workspaces que están
configurados en el servidor de TFS, ofreciendo información de su
nombre, el usuario propietario, el nombre de la máquina a la que
pertenece, la última fecha de uso, y el comentario que se
estableció al crearlo. Esta información podemos usarla para
detectar workspaces que ya no están en uso, ver en qué máquina está
un determinado workspace en el que tenemos localizado un fichero
bloqueado, etc.
• Shelvesets: éste es un listado de todos los shelves que
existen en el servidor. Al igual que en el listado anterior,
obtendremos información del nombre, el propietario, la fecha de
creación y el comentario. Por desgracia, no podemos ver el
contenido del shelve; quizás para siguientes versiones…
• Etiquetas (labels): éste es un listado de todas las
etiquetas que tenemos en el control de versiones, con información
del nombre de la etiqueta, usuario que la creó, fecha de
modificación, rama a la que pertenece y su comentario.
Tenemos la posibilidad de salvar todos estos informes, para lo que
disponemos de dos tipos de formato. El primero se basa en un
fichero de texto en el que se graban los resultados mostrados en la
pestaña "Statistics", y que generaríamos mediante la opción del
menú "Tools" | "Generate Statistics Reports"; el otro, más
completo, se graba en formato XML, y se genera desde la opción
"File" | "Save Statistics".
Conclusión
Cómo podéis ver, las Power Tools, entre otras utilidades no menos
importantes y de las que iremos hablando en el futuro, nos
proporciona TFS Server Manager, una excelente herramienta de
monitorización.
En entornos donde usamos TFS es muy importante que tengamos control
sobre lo que está ocurriendo, la actividad de los usuarios, qué
acciones son las más ejecutadas y cuáles son los usuarios que las
ejecutan. Esto es interesante, por un lado, para descubrir puntos
de error que puedan provocar fallos importantes en nuestro TFS,
algo que no es deseable, ya que no solo es el corazón de nuestras
herramientas, si no que en él tenemos todo nuestro código fuente.
Además, toda esa información acerca de las acciones, usuarios, etc.
nos puede dar una idea bastante exacta acerca de dónde podemos
tener los cuellos de botella, problemas de rendimiento y similares,
pudiendo atajarlos antes de llegar a ellos mediante, por ejemplo,
proxies del sistema de control de versiones, cambiando a un modelo
de dos servidores (uno de capa de aplicación y otro de capa de
datos); todo esto a fin de cuentas redundará en que podamos sacar
el máximo partido y la máxima estabilidad a nuestro TFS.
Para terminar, recordaros una vez más: no dejéis de instalaros las
Power Tools, ¡no solo en los ordenadores de los administradores,
sino en todos los demás! En próximos artículos iré contando qué
otras herramientas ofrecen las Power Tools para hacernos la vida
con TFS un poco más cómoda en todos los roles.