Luego de haber creado el script, como explique anteriormente en la Parte 1 de esta serie, lo que vamos a hacer es añadir nuestro proyecto a un servidor de integración continua. Para este ejemplo voy a utilizar TeamCity, aunque existen otros como CruiseControl, y el propio de TFS, Team Foundation Build.
TeamCity es por el momento mi preferido ya que su instalación es sencilla, su versión Profesional es gratuita y se integra muy bien con varias herramientas diferentes.
La instalación de TeamCity queda fuera del alcance de esta entrada, pero es muy sencilla. La única sugerencia sobre este punto es asignar una cuenta de correo, a la aplicación para que pueda comunicarnos cuando “metemos la pata”.
Crear un proyecto
Nada complicado, lo único que tenemos que hacer aquí es asignarle un nombre y una descripción a nuestro proyecto.
Configurar la conexión al servidor de control de versiones
Este paso es muy sencillo, aquí le diremos a TeamCity donde esta alojado el proyecto. Para este caso he seleccionado Subversion como control de versiones. Lo próximo que debo decirle es el url del proyecto, un nombre de usuario y contraseña. Luego hay muchas más opciones para configurar, pero los valores que vienen por defecto suelen ser los correctos.
Al final de esta página hay un botón para probar si los datos de conexión son válidos.
Crear una configuración para la generación
A continuación en la solapa “General” de la administración de nuestro proyecto debemos seleccionar la opción “Create Build Configuration”.
El proceso implica una serie de pasos, de los cuales los más importantes son el 2do y el 3ro:
En el segundo paso lo único que debemos hacer, es seleccionar el VCS root que creamos anteriormente.
A continuación, en el tercer paso, debemos configurar nuestro “Runner” acorde al script de generación que cree en mi post anterior, tal como sigue:
Build Runner; selccionamos MsBuild, ya que es la plataforma sobre la cual escribimos el script.
Build file path; nuestro xml de entrada, el nombre que le dimos en el post anterior fue default.build.
Luego lo más importante en esta página es la última configuración, que le dice a TeamCity que tiene que importar reportes de NUnit desde el path “$(OutputPath)\Reports\*.xml”.
Y esto es básicamente todo lo que hay que hacer para tener nuestro proyecto bajo integración continua. Los demás pasos tienen opciones por defecto que para proyectos simples son suficientes, y a medida que vayamos necesitando mas cosas como dependencias entre distintos proyectos dentro de nuestro proceso, podremos ir configurando.