TFS Express

Mucho hemos hablado por estos lares de la versión de TFS en Azure, pero todavía no hemos comentado que tenemos otra versión gratuita de TFS lista para utilizar:el TFS Express. Esta versión, al igual que TFS Service, es gratuita para equipos de hasta cinco usuarios, aunque es ampliable a más usuarios con la compra de las CAL’s correspondientes. Se instala sobre un SQLExpress, con lo que no tenemos reportes ni tampoco Sharepoint. Lo malo de esto es que tampoco tenemos la preciosa Task Board de la versión en la nube :( Tenéis más detalles en este artículo de Brian Harry.

Instalar el servicio es extremadamente sencillo. Basta con descargarse el instalador de la página del producto y seguir sus instrucciones paso a paso.

Pasamos las verificaciones:

E instalamos:

Ahora mismo ya tendríamos instalado el TFS. Vamos ahora a instalar el servicio de build:

Seleccionamos el servidor y la colección a la que conectarnos:

Seleccionamos los agentes a instalar:

Qué cuenta queremos utilizar:

Pasamos las verificaciones

E instalamos

Y ya lo tenemos!

 

Como veis, ha sido extremadamente sencillo. Ahora ya podemos abrir nuestro Visual Studio (o nuestro Eclipse) y conectarnos tan ricamente a nuestro recién instalado TFS Express.

Nos leemos!

Storyboarding con PowerPoint en TFS11

“Un storyboard o guion gráfico es un conjunto de ilustraciones mostradas en secuencia con el objetivo de servir de guía para entender una historia, previsualizar una animación o seguir la estructura de una película antes de realizarse o filmarse.” (Fuente: Wikipedia)

Según esta definición de la Wikipedia parece lógico que un storyboard sea algo que podamos linkar a, por ejemplo, un work item de historia de usuario en nuestro TFS. A los desarrolladores de la nueva versión de TFS también les ha parecido lógico y por eso nos proporcionan de serie una nueva pestaña en el work ítem de historia de usuario para gestionar este tipo de artefactos y, a parte, han desarrollado una extensión para Power Point para poder crearlos con facilidad.

Si abrimos Power Point después de haber instalado el nuevo Team Explorer veremos que si abrimos Power Point tenemos una nueva pestaña llamada Storyboarding

Si clicamos sobre Storyboard Shapes se nos abrirá una pantalla con todas las formas predefinidas que tenemos para crear nuestro storyboard

Ahora solo nos queda crear la pantalla que necesitemos para el dispositivo requerido. Por ejemplo, vamos a intentar (con las limitaciones que mis capacidades de diseño me permitan) crear una pantalla de settings para una aplicación móvil.

Como veis, como diseñador no doy para mucho, pero como Product Owner estoy razonablemente contento. La pantalla tiene todo aquello que yo quiero que tenga. Esta pantalla se puede enriquecer tanto como queramos, ya sea con imágenes, shapes hechas con PowerPoint, capturas de pantalla.

Ahora solo nos queda guardar el archivo (en una carpeta compartida o en un site de Sharepoint) y mediante el botón de Storyboard links ( o desde el work item de la historia, claro) relacionarlo con nuestra historia de usuario.

Un saludo!

Tests unitarios con NUnit (u otros) con VS11 y en TFSService

Con Visual Studio 2010 para poder correr tests unitarios con NUnit teníamos que hacer un poco de trabajo extra, desde instalar una extensión que nos creaba un tipo de proyecto especial, utilizar plugins como TestDriven o simplemente correr los tests desde el runner de NUnit. Ahora con VS11 tenemos esta integración mucho más sencilla, tanto con NUnit como con otros frameworks de test.

Lo que tenemos que hacer es irnos al extension manager de VS11 (Tools ->  Extension Manager ) y bajar por el árbol hasta Online Extensions -> Visual Studio Gallery -> Tools -> Testing. En nuestro caso, seleccionaremos NUnit Test Adapter.

Como veis, ya hay otros adaptadores disponibles y seguro que irán apareciendo más. Los adaptadores lo que son es un puente entre los comandos a los que llama Visual Studio ( como podrían ser “descubre tests”, “corre tests”, etc ) y las propias llamadas del framework con el que se trabaje. Esto permite que se puedan integrar todos los diferentes tests unitarios en el IDE y tener una mejor experiencia. Podéis leer más información en este artículo de Peter Provost.

Al añadir la extensión de Visual Studio este nos pide reiniciar y al hacerlo, voilà!! Ya tenemos nuestros tests con NUnit pasándose y mostrando el resultado en la ventana de Test Explorer. Obviamente, tendremos que haber incluido, preferiblemente por NuGet, la librería de NUnit para poder compilar los tests.

Es curioso ver como el primer tests de NUnit tarda un poquitín más que el primer test de MSTest.

Si tuviéramos una build de integración continua configurada en el nuevo servicio de builds de TFSService ( como vimos en el artículo de ayer ) y subiéramos nuestros cambios a TFSService, podríamos ver que los tests de NUnit no se están pasando, ya que las máquinas de TFSService, no lo traen configurado por defecto. Por suerte, arreglar esto es algo muy sencillo.

Primero de todo nos vamos a bajar la misma extensión de Visual Studio a nuestro ordenador (a no ser que ya lo hubiéramos hecho antes en lugar de instalarla por NuGet). Esto lo podemos hacer accediendo a la siguiente página http://aka.ms/nunit-vs11. Cuando tengamos el vsix en nuestro disco duro, le cambiamos la extensión a .zip y lo descomprimimos a una carpeta.

Copiamos todas las dlls y las metemos en una carpeta de nuestro control de código fuente.

 Ahora solo hace falta indicarle a nuestro controlador de builds que los custom assemblies los busque en esta carpeta. Así que nos vamos a la sección de builds del Team Explorer, clicamos sobre Actions y seleccionamos la acción Manage Build Controllers

En la ventana de configuración que nos sale, seleccionamos el Hosted Build Controller

Y accedemos a sus propiedades y modificamos el valor de Versión Control Path to Custom Assemblies al valor adecuado en nuestro caso.

 

Ya podemos volver a correr la build y podremos ver como se pasan tanto los tests de MSTest como los de NUnit.

Un saludo!!

Fuente: http://blogs.msdn.com/b/visualstudioalm/archive/2012/03/27/build-on-the-team-foundation-service.aspx

Creación de una build con el nuevo servicio de builds para TFS Service

Hace un par de días, Brian Harry anunció que ya estaba disponible el nuevo servicio en la nube para poder crear builds de un proyecto alojado en TFS Service. Como ya sabéis, TFS Service es un TFS11 alojado en Azure y, por ahora, con acceso gratuito mediante invitación.

Hasta hace un par de días, una de las limitaciones que tenía este servicio es que no proveía de la posibilidad de crear builds también alojadas en la nube, con lo que nos teníamos que crear nosotros la infraestructura necesaria para ello, ya sea instalando en una máquina local un agente de build de TFS11 o alojándolo nosotros mismos en Azure. Ahora esto ya no es así, y Microsoft ya nos provee de un servicio donde poder alojar nuestras builds y, a parte, facilísimo de configurar.

Para crear una build, haremos lo que estamos acostumbrados a hacer con nuestro TFS de toda la vida, es decir, ir al apartado de builds de nuestro Team Explorer y clicar sobre New Build Definition.

 Se nos abrirá la pantalla de definición de builds donde configuraremos los parámetros de la build que nos interesen. En este caso, hay dos parámetros críticos: el controlador de la build y el drop folder.

Como veis, nos ha aparecido un controlador nuevo, llamado Hosted Build Controller, que es el que tenemos que seleccionar. Por otra parte, por una limitación de azure, no podemos copiar el output de la build a un path UNC, así que tendremos que escoger la opción de copiarlo en una carpeta del Source Control. Vigilad en no poner una carpeta que tengáis mapeada en un proyecto, para no bajaros información innecesaria.

Y ya está, ya tenemos todo lo necesario para correr nuestra build. Ya podemos poner una build en la cola y esperar que esta finalice, a poder ser de manera satisfactoria claro :-)

Mañana veremos como podemos configurar el adaptador de nUnit para pasar los tests con este framework desde Visual Studio y como configurar la build para que también lo haga.

Un saludo!