Nota del autor

Si la entrada que estás leyendo carece de imágenes, no se ve el vídeo que teóricamente lleva incrustado o el código fuente mostrado aparece sin formato, podéis conocer los motivos aquí. Poco a poco iré restableciendo la normalidad en el blog.
Este blog es un archivo de los artículos situados previamente en Lobosoft.es y ha dejado de ser actualizado. Las nuevas entradas pueden encontrarse en www.lobosoft.es. Un saludo,
Lobosoft.

jueves, 19 de marzo de 2009

Integrando NAnt en Visual Studio

La automatización de los procesos es un objetivo a alcanzar por cualquier equipo de desarrollo, ya que por todos es conocido que los procesos manuales son susceptibles de error (el factor humano). Sin duda, los procesos repetitivos son, con mucho, los más propicios a sufrir la automatización, ya que por sus propias características permiten que se lleve a cabo de una forma sencilla, y por su propia naturaleza son aquellos que más posibilidad de error albergan por parte nuestra, ya que si bien quedan bastante claros por repetirse habitualmente, también llevan al hastío y a que nos relajemos a la hora de llevarlos a cabo.



Como decía, en desarrollo de software es deseable automatizar los procesos, uno de los factores que influyen en la calidad de nuestro software (el que entregamos para su prueba o directamente al cliente), y permanece muy vinculado al proceso de integración continua. Dentro de estas automatizaciones posibles, se encuentra el proceso de compilación y generación de componentes a partir de nuestro código fuente. Si bien los motores de integración continua (CruiseControl, TeamCity, Visual Studio TFS…) incorporan funcionalidades adecuadas para automatizar la construcción de nuestros componentes, no es menos cierto que podemos hilar muy fino si utilizamos alguna herramienta de automatización, que permita mediante la definición de una serie de pasos (un script) diseñar de forma clara el proceso que deseamos cumplir. Entre estas herramientas, MSBuild en entornos .NET o Ant para Java, Oracle… (y su equivalente para .NET, NAnt), destacan con luz propia.



En el caso de NAnt, es posible crear un script que compile nuestro código en lugar del fichero de solución de Visual Studio, y usarlo en conjunción con los motores de integración continua para realizar builds nocturnos, por ejemplo. Es más, podríamos usarlo para llevar a cabo compilaciones locales en nuestra máquina, check-ins y check-outs automáticos en el control de versiones, compilaciones remotas en servidores de desarrollo…



Hoy quería centrarme en la integración en Visual Studio de los proyectos de NAnt (los archivos de build), ya que aunque se tratan simplemente de archivos XML con las tareas a realizar, y es posible editarlos con cualquier editor de texto, XML o algunos editores especializados como Editor4NAnt, siempre es más práctico utilizar el IntelliSense de Visual Studio para crear o modificar un archivo de este tipo.



Para integrarlos en Visual Studio, al igual que ocurriría con cualquier otro XML del que dispusiésemos de su esquema, basta con copiar el archivo XSD incluido en la distribución de NAnt (nant.xsd) entre los esquemas XML disponibles para Visual Studio, en C:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas (o en la ruta de Visual Studio que utilicemos, en general dentro de %VSINSTALLDIR%\Xml\Schemas).



Hecho esto, incluimos un archivo de build de NAnt en nuestra solución de Visual Studio (o creamos uno nuevo, con extensión .build).



Pulsamos sobre él con el botón derecho del ratón para abrir el menú contextual y marcamos a opción de “Abrir con…” para seleccionar el editor XML como el programa que abre estos archivos de forma predeterminada para Visual Studio.




Se abrirá el editor, y podemos empezar a escribir nuestro script NAnt. Veremos cómo el IntelliSense funciona a la perfección, y podemos completar nuestro archivo en un momento (al menos, este nuestro de “Hola mundo”, como bienvenida de NAnt a nuestro IDE preferido).




Hecho esto, podemos lanzar el script con NAnt.exe, y comprobar que la compilación se produce con éxito.


No hay comentarios:

Publicar un comentario