viernes, 25 de mayo de 2012

Links útiles #8 Team Foundation Server

1-Nuevos contadores de performance en TFS 11

http://blog.jimszubryt.com/2012/05/21/new-perfmon-counters-with-tfs-11-beta/

2-Introducción a Jobs en Team Foundation Server

http://blogs.msdn.com/b/chrisid/archive/2010/02/15/introducing-the-tfs-background-job-agent-and-service.aspx

3-Gated check in TFS 2010

http://intovsts.net/2010/04/18/the-gated-check-in-build-in-tfs2010/

4-Exponiendo a TFS 2010 mediante ISA Server 2006

http://tjopsta.wordpress.com/2010/04/18/exposing-tfs-2010-to-the-web-using-isa-2006/

5-TFS Integration Tool: ejemplos

http://blogs.msdn.com/b/willy-peter_schaub/archive/2011/05/13/tfs-integration-tools-where-does-one-start-part-2-try-a-simple-migration.aspx
http://msdn.microsoft.com/en-us/magazine/jj130558.aspx



Más info: http://blogs.msdn.com/b/willy-peter_schaub/archive/2011/05/11/tfs-integration-tools-where-does-one-start-part-1.aspx


6-Desarrollando, deployando y ejecutando una custom check-in policy en TFS 11 sobre java


http://www.dotnetcurry.com/ShowArticle.aspx?ID=800


http://www.dotnetcurry.com/ShowArticle.aspx?ID=802

jueves, 24 de mayo de 2012

Tips/Info #5 Team Foundation Server

1-Mover un team project a otro team project collection

Se puede lograr con http://tfsintegration.codeplex.com/releases/view/85498

No tendrás problema si deseas mantener el template de proceso, si deseas cambiar el template tendrás un proceso de mapear el template original al template final.

2-Borrar un Team Project huérfano

tfsdeleteproject /collection:https://urlTFS/DefaultCollection NombreTeamproject
3-Borrar workspaces huérfanos

Para encontrar los workspaces que el desarrollador ha usado:

tf workspaces /owner:dev_username /computer:* /server:my_server

Borro los workspaces (además se remueven los archivos tomados):

tf workspace /delete /server:your_tf_server workspacename;workspaceowner

El borrado de un worskpace se puede hacer mediante Team Foundation Sidekicks

4-Carpetas y archivos que se deben excluir del scan de antivirus

  • TFS Application Tier

    • C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Services\_tfs_data [TFS Version Control Cache folder]
    • C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions [SharePoint Portal]
    • C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files [SharePoint Portal + Web Access]
    • C:\Users\xxxxx\AppData\Local\Temp [SharePoint Portal]

  • TFS Build Server(s)

    • Build Agent(s) working directory: D:\Builds
    • TFS local cache folder for TFSBUILD account: C:\Users\xxxxx\AppData\Local\Microsoft\Team Foundation

  • TFS Data Tier

    • SQL Server data files: .mdf + .ldf

  • Más info:


    http://support.microsoft.com/kb/2636507


    http://support.microsoft.com/kb/309422


    http://support.microsoft.com/kb/952167


    5-Estado de un archivo cs


    tf status $/MiProyecto/Carpeta/MiArchivo.cs /server:mi_server /format:detailed


    $/MiProyecto/Carpeta/MiArchivo.cs;C20290
    User       : MIDOMINIO\miusuario
    Date       : Thursday, May 24, 2012 12:00:00 PM
    Lock       : checkout
    Change     : edit
    Workspace  : WorkSpaceName
    Local item : [WorkSpaceName] D:\projects\MiProyecto/Carpeta/MiArchivo.cs
    File type  : Windows-1252

    miércoles, 23 de mayo de 2012

    Tips/Info #4 Team Foundation Server

    1-Config transformations

    Si tu solución tiene configurado transformations para web.config, es posible configurarlo en TFS para que al generar el build se obtenga el archivo de configuración correcta.

    En la sección “Items to build”, configuro la opción “Configuration to build” con el ambiente deseado (Ej: release)

    ConfigTransformTFS_thumb

    A continuación configuro la opción “MSBuid Arguments” con TransformConfigFiles=true

    La otra manera es dejar Configurations to build a default y pasar como parámetro a MSBuild la siguiente opción:

    /p:Configuration=Release
    2-Cache local de TFS
    C:\Users\[USERNAME]\AppData\Local\Microsoft\Team Foundation\2.0\Cache
    C:\Users\[USERNAME]\AppData\Local\Microsoft\Team Foundation\3.0\Cache
    3-Error al generar un build: Not enough storage is available to complete this operation
    Posiblemente sea por falta de memoria RAM en el servidor de BUILD.

    4-Copiar los archivos de _PublishedWebsites a otra ubicación


    Usar la actividad CopyDirectory, setear la propiedad Source BuildDetail.DropLocation + "\_PublishedWebsites\" y la propiedad destino a Destination a la ubicación deseada. Agrega esta actividad al final del proceso de build.


    5-Error: he permissions granted to user XXXXXXX are insufficient for performing this operation (rsAccessDenied) en el web part de Reporting Services de TFS


    Use la herramienta http://tfsadmin.codeplex.com/




    6-TFS administration tool: limpiar cache


    Ingresar a C:\Users\USERNAME\AppData\Local\Microsoft\Team Foundation\3.0\


    y borrar todos su contenido. Al ingresar de nuevo a TFS Administration Tool, la cache se regenerá.


    7-Parámetro ReferencePath


    Si tu proyecto usa referencias a librerias externas, controles custom, será necesario indicarle a TFS donde estan esos assemblies, es se hace mediante el parámetro ReferencePath del MSBuild.


    En los argumentos de MSBuild de la build definition podré definir el siguiente parámetro:


    /p:referencepath=”C:\Build\referenced assemblies\”


    Si usted tiene los assemblies en el source control, podrá hacer referencia al folder que los contiene: http://lajak.wordpress.com/2011/03/13/pass-relative-path-arguments-to-msbuild-in-tfs2010-team-build/


    Se podrá indicar múltiples paths: /p:ReferencePath="c:\builds\...\path1;c:\builds\...\path2


    8-TFSConfig


    Con TFSConfig podrá configurar muchos aspectos de TFS.Su ubicación es la siguiente:


    Drive:\Program Files\Microsoft Team Foundation Server 2010\Tools.


    9-Instalar el servicio TFSJOBAgent de forma  manual


    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /LogFile="C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\TfsJobAgent\TfsJobAgent.InstallLog" /LogToConsole=true /username=Dominio\ TFSSERVICE /password=xxxx TFSJobAgent.exe


    El job TFS Job Agent ejecuta jobs via plug-ins. Plug-in implementan el método Run en la interface ITeamFoundationJobExtension.Los Assemblies con uno o más jobs plug-in se ubican en %ProgramFiles%\Microsoft Team Foundation Server 2010\Application Tier\TFSJobAgent\plugins\


    El job usa reflection para cargar las DLL. Cuando un plgu-in retorna un resultado (Succeeded, Partially Succeeded, Failed, …) y un mensaje.|


    Más info: http://blogs.msdn.com/b/chrisid/archive/2010/02/15/introducing-the-tfs-background-job-agent-and-service.aspx

    martes, 15 de mayo de 2012

    Links útiles #7 Team Foundation Server

    1-Nuevas actividades en TFS 11

    http://geeks.ms/blogs/jlsoria/archive/2012/04/24/nuevas-actividades-de-workflow-en-team-foundation-build-11-beta.aspx

    2-TFS Work Item History Compare

    http://blogs.objectsharp.com/blogs/dave/archive/2012/04/27/tfs-work-item-history-compare.aspx

    3-Mejoras en las opciones de merge de TFS 11

    http://blogs.msdn.com/b/bharry/archive/2011/08/31/merge-enhancements-in-tfs-11.aspx

    4-Administrar dependencias con TFS y NUGET o Visual Studio

    http://geeks.ms/blogs/lfraile/archive/2012/05/07/gesti-243-n-de-dependencias-de-proyectos-con-visual-studio-y-team-foundation-server.aspx

    5-Integración Services con TFS 2010

    http://microsoft-ssis.blogspot.com.ar/2012/04/ssis-2008-with-team-foundation-server.html

    6-Controlando TFS warehouse con servicios webs

    http://estebanfg.blogspot.com.ar/2011/02/controlling-data-warehouse-refresh-in.html

    7-Visual Studio 2005 Plugin de compatibilidad con TFS 2010

    http://www.microsoft.com/en-us/download/details.aspx?id=3263

    8-TFS SDK

    http://geekswithblogs.net/TarunArora/archive/2011/08/30/tfs-sdk-workspace-explorer.aspx

    http://geekswithblogs.net/TarunArora/archive/2011/08/21/tfs-sdk-work-item-history-visualizer-using-tfs-api.aspx

    9-Restringir el uso a clientes específicos

    http://msmvps.com/blogs/vstsblog/archive/2011/09/07/restrict-tfs-to-only-allow-connections-from-clients-with-vs-sp1.aspx

    10-Integration services TFS 2010

    http://blogs.msdn.com/b/jchiou/archive/2012/05/15/sql-server-business-intelligence-development-studio-tfs-2010.aspx

    11-Marketplace TFS Plugin eclipse

    http://marketplace.eclipse.org/content/tfs-plug-eclipse

    12-Qué pasa en TFS cuando se borra una cuenta de usuario de AD?

    http://bobhardister.com/archive/2011/06/22/what-happens-to-tfs-when-an-active-directory-account-gets.aspx

    13-Usar SQL Managment con TFS 2010

    http://blogs.msdn.com/b/jchiou/archive/2012/05/15/sql-server-management-studio-tfs-2010.aspx

    14-Usar Visual Basic con TFS 2010

    http://blogs.msdn.com/b/jchiou/archive/2012/05/15/vb-6-tfs-2010.aspx

    15-Work items que se modificaron en las últimas 24 horas

    http://bobhardister.com/archive/2011/09/09/tfs-2010-web-part-for-data-warehouse-views.aspx

     

     

    jueves, 10 de mayo de 2012

    Migrar TFS a un nuevo hardware

    IMPORTANTE: ambas máquinas deben tener la misma versión de TFS y con los mismos parches.

    Máquina vieja

    • Detengo las colleciones
    • Hago backup de las bases de datos (con SQL Managment)

    Máquina nueva

    • Renombro la máquina con el mismo nombre que la anterior
    • Hago restore de las bases de datos
    • Ejecuto lo siguiente

    cd C:\program files\Microsoft Team Foundation Server 2010\Tools
    TFSServiceControl quiesce
    TFSConfig PrepSQL /SQLInstance:TFS
    TFSConfig RemapDBs /DatabaseName:TFS;TFS_Configuration /SQLInstances:TFS /continue
    TFSConfig RemapDBs /DatabaseName:TFS;TFS_Configuration /SQLInstances:TFS /continue
    TfsConfig registerDB /SQLInstance:TFS /DatabaseName:Tfs_Configuration
    TFSServiceControl unquiesce

    domingo, 6 de mayo de 2012

    Team Foundation Server Workspaces

    Cuando se trabaja con control de versiones de Team Foundation, uno de los conceptos que usted necesita entender es el espacio de trabajo (WORKSPACES). TFS almacena el código, pero cuando usted comienza a hacer cambios en el código, estos cambios tienen que ocurrir en el equipo local. Los archivos de código necesitan ser check out en un área local de su equipo. Un "espacio de trabajo" en TFS define el lugar donde reside el código a nivel local.

    En esencia, un espacio de trabajo es una carpeta o varias carpetas,mapeadas a áreas en TFS. Cuando el código se ha extraído de TFS, el código se almacena localmente en base de las asignaciones de espacio de trabajo. Cuando se realizan cambios en los archivos de código, usted está haciendo estos cambios a nivel local, a los archivos contenidos en su espacio de trabajo.

    Una de las razones principales para espacios de trabajo es el aislamiento. Ofrece una zona de pruebas donde los cambios de código se puede hacer sin tener que preocuparse si los cambios afectarán a otros miembros del equipo. Los cambios permanecerán en el área de trabajo local hasta que se registre en TFS.

    TFS fue diseñado para permitir una o más áreas de trabajo en la misma máquina. Un único espacio de trabajo se pueden crear que contiene varios proyectos de equipo y su código, o un espacio de trabajo más específico que sólo contiene un proyecto en particular. Esto dependerá de las preferencias personales, la metodología, el medio ambiente y similares.

    Crear un workspaces (área de trabajo)
    La creación de un espacio de trabajo implica el mapeo de las carpetas locales a carpetas del TFS. Para empezar, abra Visual Studio 2010 y seleccione Archivo | Control de código fuente | Áreas de trabajo. Esto abrirá la ventana Administrar áreas de trabajo, donde se puede controlar la configuración de todas las áreas de trabajo en la máquina. Para crear un nuevo espacio de trabajo, haga clic en el botón Agregar. Esto abre la ventana de área de complementos, que se muestra en la Figura 1.

    image

    Figura 1. La ventana de agregar Workspace

    Cada área de trabajo tiene un nombre, que se utiliza para identificar el espacio de trabajo. Como se puede ver en la Figura 1, las áreas de trabajo están ligados a una colección de proyectos de equipo (TEAM PROJECT COLLECTION), por lo que no se puede crear un espacio de trabajo que abarca varias colecciones de los proyectos. Espacios de trabajo puede abarcar varios proyectos de equipo (TEAM PROJECT) en una colección única. Espacios de trabajo también están ligados a un ordenador y un usuario, lo cual tiene sentido, ya que es un espacio de trabajo de recinto de seguridad personal de un usuario en una máquina específica.

    Una de las características nuevas con áreas de trabajo en TFS 2010 fue la adición de los permisos. Hay tres tipos de permisos de espacio de trabajo:

    • Espacio de trabajo privado (PRIVATE WORKSPACES)
    • Pública del área de trabajo (limitado) (PUBLIC WORKSPACES)
    • Pública del área de trabajo

    Un espacio de trabajo privado es el valor predeterminado. Así es como las versiones anteriores de TFS han implementado espacios de trabajo. En esencia, se bloquea el espacio de trabajo para que sólo puede ser utilizada por su propietario. Si un usuario intenta utilizar el espacio de trabajo de otro usuario que se ha marcado como privada, recibirán un mensaje de error.

    Hay desarrollos que requieren que los usuarios puedan compartir el mismo espacio de trabajo. Para permitir esto, TFS 2010 implementada espacios de trabajo públicos (PUBLIC WORKSPACES). El espacio de trabajo público (limitado) permite que el espacio de trabajo para ser utilizado por un usuario de TFS válido, pero que no tiene privilegios de check-in o administrador. El espacio de trabajo público, por el contrario, es un espacio de trabajo completamente funcional donde los usuarios pueden hacer check in o check out, así como administrar el espacio de trabajo.

    Tenga en cuenta que una asignación de carpeta del área de trabajo tiene un campo de estado. Hay dos valores posibles: Activo y disimulado. Activo indica que una asignación de espacio de trabajo debe ser utilizado, y que los archivos deben ser sincronizados entre TFS y el área de trabajo local. Al ocultar una carpeta, sin embargo, le está diciendo a TFS para excluir esa carpeta de ciertas tareas, como agregar nuevos archivos y obtener los archivos.