Web Deployment Tool para Windows Azure

Todos los que hemos trabajado con Windows Azure Compute sabemos lo que significa esperar por un despliegue :) Si bien es un requisito indispensable para la puesta en producción, puede resultar más que tedioso a la hora del desarrollo, testing, etcétera. ¡Pero ya no hay de qué preocuparse! Una de las últimas novedades anunciadas en el MIX 2011 fue justamente la posibilidad de realizar despliegues de una forma más rápida gracias a Web Deployment Tool :)

Este método tiene algunas restricciones de las cuales debemos ser conscientes:

  1. El web role sólo puede tener una instancia desplegada.
  2. Los cambios son temporales, es decir, si el servicio se reinicia o el mismo falla y debe ser desplegado en otro servidor del data center, los cambios que hayamos subido a través de esta herramienta se perderán.
  3. Debido a los dos puntos anteriores, Web Deployment Tool está pensado para el desarrollo y el testing y en ningún caso para entornos de producción.

Dicho esto, vamos a configurar nuestro servicio para poder utilizar la herramienta :D

Configuración

En primer lugar, debemos actualizar el SDK de Windows Azure a la última versión conocida como Windows Azure SDK 1.4 Refresh con fecha de release el 11 de Abril de este año.

Abrimos una solución Cloud y hacemos clic sobre la opción “Publish…” del proyecto Windows Azure. Al actualizar la versión del SDK tenemos una nueva opción disponible como se muestra en la siguiente imagen:


Tal y como se indica en la misma, para que esta esté disponible debemos habilitar primeramente la conexión remota, como expliqué en un post anterior.

Una vez que hayamos configurado Remote Desktop y hayamos habilitado el check para el Web Deploy, debemos desplegar la solución una primera vez para comenzar a utilizar la herramienta. Cuando la subida haya finalizado estaremos listos para una primera prueba :D

¿Cómo se utiliza Web Deployment Tool?

Realizamos el cambio que creamos oportuno en un web role de nuestra solución y una vez que tengamos modificado el mismo seleccionamos la opción Publish… del Web Role (No del proyecto de Windows Azure) donde se nos presentará la siguiente imagen:


Si nos fijamos en la imagen anterior, el método de publicación sería a través de Web Deploy, Service URL estaría apuntando al DNS de la plataforma Azure a través del puerto 8172, haciendo uso del servicio MsDeploy.axd y como nombre del Site indicaríamos el nombre de la instancia o frontal del hosted service

más el nombre del sitio web, definido en el ServiceDefinition.csdef:

Por último, como credenciales para poder realizar el despliegue debemos indicar las mismas que utilizamos para la conexión remota.

¡Listo! A partir de este momento todo queda configurado para el despliegue instantaneo con Web Deploy :D Para subir los cambios bastará con pulsar sobre Publish y en cuestión de segundos estarán reflejados en el cloud.

Espero que sea de utilidad :)

¡Saludos!

Deja un comentario