Personalizando la configuración de Team Foundation Server
Una vez instalado Team Foundation Server y habiendo verificado la misma, veamos algunos aspectos iniciales de configuracion:
(1) Configurando Alertas
En lugar del tedioso trabajo de enviar E-mail manualmente cuando liberamos una nueva version o hacemos check-in de cambios en el codigo, en Team Foundation Server se puede configurar alertas de proyecto para enviar esos tipos de E-mails automaticamente via el menú Team->Project Alerts.
Hay cuatro opciones de notificacion via E-mail disponibles en una instalacion por defecto en Team System, estas son:
Alert when my work items are changed by others
Alert when anything is checked in
Alert when the build status changes
Alert when a build completes
Normalmente se envia notificaciones a un alias de grupo tal como: teamdevelopers@3devnet.com, pero tambien puede ser enviado a un correo en particular como se muestra en la figura:
Veamos una muestra de como se recibiria el E-mail de notificacion:
Si requiere una suscripcion personalizada, puede utilizar la herramienta BisSubscribe.exe del servidor (<Program Files>\Microsoft Visual Studio 2005 Team Foundation Server\TFSetup>BisSubscribe.exe). Por ejemplo en la siguiente expresion de filtro, solo los nuevos cambios generaran E-mails:
BisSubscribe.exe /userId <domain\username> /eventType WorkItemChangedEvent /deliveryType EmailHtml /domain <server name> /address <email address> /filter "PortfolioProject = '<project>' AND ChangeType = 'New' "
(2) Configurando Team Foundation Server para acceso extranet
La version inicial de Visual Studio Team Foundation Server solo soporta Autenticacion Integrada con Windows, la cual permite a los cliente utilizar sus credenciales de Windows para acceder a la funcionalidad de Team Foundation Server.
La Autenticacion Integrada con Windows es una buena alternativa para escenarios en un entorno corporativo, sin embargo no es la mejor alternativa en escenarios Internet donde los proxy servers y firewalls pueden limitar el uso de este tipo de autenticación.
Actualmente solo se soporta conexiones remotas a TFS a través de una red privada virtual (VPN) debido a las limitaciones de usar Autenticacion Integrada con Windows para escenarios Internet. Esto no significa que no pueda acceder a TFS a traves de internet, sino que puede usar una VPN si tiene que acceder a TFS fuera de la intranet local.
Team Foundation Server Service Pack 1 puede soportar modos de autenticacion Basic y Digest ademas configurando el despliegue de TFS para usar HTTPS con Secure Sockets Layer (SSL) y autenticacion Basic o Digest, se puede soportar conexiones externas al servidor TFS sin tener que utilizar una conexion VPN.
En la siguiente figura se muestra como configurar el metodo de autenticación desde IIS.
Puede encontrar mas informacion en:
Limitations on access to Visual Studio Team Foundation Server over the Internet
Team Foundation Server, Basic Authentication, and Digest Authentication
(3) Configurando opciones en tiempo de ejecución de TFS
La informacion de configuracion de Team Foundation Server esta contenida en varios archivos web.config. El archivo de configuracion global se encuentra en: \Program Files\Microsoft Visual Studio 2005 Team Foundation Server\WebServices\web.config, sin embargo dentro de dicho directorio se pueden encontrar carpetas por cada componente de Team Foundation (Build, Services, VersionControl, etc) cada una conteniendo su propio web.config.
Se puede modificar directamente los archivo s web.config o tambien se puede hacer desde el Internet Information Server 6.0.
(4) Habilitando el tracing para los componentes de Team Foundation Server
Se puede cambiar el directorio de salida para los archivos de trace de los componentes de TFS editando el web.config de dicho componente.
Desde Internet Information Server 6.0 se puede hacer accediendo a Administrador de IIS (inetmgr) y luego expandiendo "Web Sites" y finalmente "Team Foundation Server".
Luego tiene que hacer doble-click sobre el archivo web.config que se encuentra en la raiz o dentro de cada componente de TFS, se mostrara el cuadro ASP.NET Configuration Settings:
(5) Habilitando el rastreo de actividad (activity logging)
Los creadores de TFS disenaron un mecanismo para registrar la actividad de los metodos web para todas las aplicaciones web de Team Foundation.
No se proporciona forma de obtener dicha data, sin embargo desde la capa de datos se puede escribir consultas SQL para ver que estan haciendo las aplicaciones Web de TFS.
El rastreo de actividad es controlada por una configuracion en el archivo web.config de cada componente de TFS. La configuracion por defecto desahbilita el Logging pero es simple habilitarlo.
En el archivo de configuracion que se encuentra en %ProgramFiles%\Microsoft Team Foundation 2005\Web Services\Web.config o en el .config de cada componente revisar por commandLogging, dentro de AppSettings, como se muestra a continuación.
<!-- WEB METHOD LOGGING
Specify whether web methods are to be logged always, never, or only
when errors occurs. Without a value for commandLogging, web methods
are not logged. Valid values are:
None (web methods are never logged)
Normal (log everything, except certain high-frequency web methods)
All (log everything, even certain high-frequency web methods)
OnError (only log web methods that have errors)
Values specified here take precedence over values set administratively via
web method.
-->
<add key="commandLogging" value="None"/>
Si se cambia el CommandLogging a, por ejemplo "Normal", todos los comandos seran rastreados en la base de datos TFSActivityLogging.
Para ver la informacion del Log tendra que ejecutar un Query tal como "select * from tbl_Command" sobre la base de datos TFSActivityLogging de SQL Server.
El Log es utilizado para distintos propositos incluyendo el calculo de la carga y tambien determinar el patrón de uso de TFS.
Mas informacion en Snooping into TeamSystem activity logging
(6) Configurando el tamaño y ubicacion de la cache web
El cache de archivos, en la capa de aplicacion de TFS, esta habilitado por defecto y permite mejorar el rendimiento ya que los archivos se obtienen del cache el lugar de acceder directamente a la base de datos.
Es posible cambiar la configuracion del cache de archivos,editando el archivo web.config que se encuentra localizado por defecto en …\Program Files\Microsoft Visual Studio 2005 Team Foundation Server\Web Services\VersionControl
Por ejemplo se puede cambiar la ubicacion de la carpeta del cache mediante la opcion:
<add key="fileCacheRoot" value="NewCacheRootFolderLocation" />
Por defecto esta carpeta esta en …\Program Files\Microsoft Visual Studio 2005 Team Foundation Server\Web Services\VersionControl\Data
Se puede especificar un limite en la cantidad de espacio de almacenamiento que la capa de aplicacion utiliza para el cache de archivos, cuando se alcanza este limite los archivos antiguos en el cache son eliminados dejando espacio libre para colocar en dicho cache los archivos recientemente requeridos. Los archivos se eliminan basados en la fecha y hora en que fueron accedidos, los que no hayan sido accedidos por mayor tiempo son eliminados primero.
El siguiente ejemplo especifica que el cache debe llenarse hasta un 60% de la capacidad de espacio disponible en disco antes de remover archivos anteriores:
<add key="CacheLimitPercent" value="60" />
Tambien puede especificar un tamaño fijo en MB con el elemento <add key="CacheLimit">
Si instalo Team Foundation Server Proxy tambien puede habilitar el cache, para esto ubique la carpeta de instalacion del Servidor Proxy, por defecto es …\Program Files\Microsoft Visual Studio 2005 Team Foundation Server\Web Services\VersionControlProxy, y abra el archivo Proxy.config.
Especifique el servidor TFS y el puerto de comunicacion entre el servidor proxy y la capa de aplicacion de TFS, por ejemplo:
<Server>
<Uri>http://ApplicationTierServerName:8080/VersionControl</Uri>
</Server>
La comunicacion entre la capa de aplicacion de TFS y el servidor proxy es normalmente a traves de una WAN y entre los clientes y el servidor proxy a traves de una LAN.
Para configurar Visual Studio 2005 de modo que pueda usar un Team Foundation Proxy server, elija el menú Tools->Options->Source Control->Visual Studio Team Foundation Server. En la figura se muestra un ejemplo de configuración:
El puerto 8081 es el puerto por defecto diseñado para comunicación entre el cliente y el Team Foundation Server Proxy.
Para comprobacion, luego de haber seguido los pasos anteriores, realice un Check-out de un archivo desde el explorador del controlador de versiones, si no hay errores se debe mostrar algunas carpetas nuevas y archivos en “%program Files%\Microsoft Visual Studio 2005 Team Foundation Server\Web Services\VersionControlProxy\Data\<guid>” en el servidor proxy.
Tambien puede utilizar Internet Explorer y, desde el proxy server, navegar hacia http://localhost:8081/VersionControlProxy/v1.0/ProxyStatistics.asmx , luego comprobar si se muestran valores distintos a cero en los contadores de performance.
Puede encontrar mas informacion en How to: Configure Team Foundation Source Control to use Proxy Server