Una de las novedades introducidas en Azure Websites es la de publicar directamente desde repositorios de código consiguiendo así integración contínua, es decir, que cada vez que realicemos cambios se publiquen en nuestro website automáticamente. En este post vamos a explcar cómo hacerlos desde Git. Para ello podemos utilizar repositorios que tengamos alojados online en Github o repositorios que sólo tengamos creados de forma local en nuestra máquina.
Vamos a empezar publicando una web creada con MVC4 con Visual Studio y alojando el proyecto en un repositorio en GitHub, desde donde publicaremos en nuestro website de Azure.
Preparación: creando nuestro website y enlazándolo al repositorio remoto
Para ello, necesitaremos un repositorio en GitHub, por lo que desde su web seleccionamos la opción de Create a repository. Simplemente establecemos un nombre para el repositorio y, opcionalmente, una descripción. Pulsamos Create repository y se nos llevará a la página de código de nuestro repositorio, de momento vacío.
Como lo que queremos es publicar en nuestro website de Azure directamente con cada push (es decir, la orden para integrar en un repositorio remoto los cambios de un repositorio local) que hagamos a nuestro repositorio en GitHub, tenemos que enlazarlo. Para ello vamos a nuestro portal de Azure, creamos un nuevo website:
Una vez creado, entramos en este website y pulsamos Set up Git publishing
Tras unos momentos nos aparecerá una pantalla como la siguiente, en la que tendremos que seleccionar la opción de desplegar nuestra web desde un repositorio de GitHub y, pulsando en el enlace que aparece al desplegarlo otorgaremos permisos a Azure para acceder a nuestro repositorio:
Se nos pedirán en este momento nuestras credenciales de GitHub, y cuando nos hayamos autenticado correctamente se nos permitirá elegir el repositorio desde el que queremos publicar
Si nuestro repositorio está vacío no se publicará nada todavía, si no cuando realicemos el primer push. Pero si nuestro repositorio ya contenía datos, se empieza a publicar automáticamente:
Creación de nuestra aplicación web
Como nuestro repositorio, de momento, estaba vacío vamos a introducir una aplicación web para publicarla. Creamos un proyecto nuevo de Aplicación web de ASP .NET MVC 4 utilizando .NET Framework 4 () y establecemos que sea una Aplicación de internet.
Creación de la copia local de nuestro repositorio
Una vez tengamos nuestro proyecto creado, abrimos la consola de comandos o la consola GitBash y nos posicionamos en el directorio de nuestra aplicación web, para inicializar la copia local del repositorio en ese directorio con el comando git init. Una vez hecho esto, introducimos el comando git gui para abrir la herramienta que nos permite gestionar nuestro repositorio de forma “más amigable” (evitando los comandos de consola). Hasta el momento llevamos algo como esto:
Enviando los cambios a nuestro repositorio remoto
Ahora vamos a confirmar los cambios a realizar y enlazar nuestra copia local del repositorio con el repositorio que hemos creado en GitHub. Para ello, en Git Gui pulsamos Stage changed para efectuar los cambios que tenemos preparados, confirmamos y en el popup que se nos abre indicando un error pulsamos Continue.
Ya podemos realizar nuestro primer commit (es decir, envío de cambios), confirmando los cambios. Escribimos un mensaje que lo describa y pulsamos Commit
Una vez hecho esto, vamos a Remote > Add y establecemos el nombre que queremos darle a nuestro repositorio remoto (puede ser el que queramos, en este caso github) y la URL de nuestro repositorio en GitHub. Esta URL se encuentra en la sección de código de nuestro repositorio en GitHub:
La copiamos y la pegamos en el cuadro de texto de Location:
Publicando los cambios en nuestro website
Solo nos quedaría hacer push a nuestro repositorio remoto en GitHub para publicar automáticamente en nuestro website de Azure. Para ello, simplemente pulsamos el botón Push, establecemos que el destino sea nuestro repositorio remoto en GitHub y volvemos a pulsar Push.
Se nos pedirá usuario y contraseña de GitHub y, tras introducirlo, se realizará correctamente el push.
En ese momento, desde el portal de Azure, podremos ver como se publica automáticamente en nuestro website
A partir de ahora, cada vez que realicemos un push a nuestro repositorio remoto en GitHub se publicará en nuestro website de Azure
Para comprobar que todos los cambios realizados se han publicado correctamente, simplemente pulsamos en Browse para ver nuestro website
Resumiendo
Preparación
- Registro en Windows Azure, desde su portal podemos acceder a la versión de evaluación gratuita
- Crear un website en Azure
- Preparar el contenido de nuestro repositorio: proyecto ASP .NET en Visual Studio, archivos locales, etc.
- Instalar Git
Publicar desde repositorio en GitHub
- Crear cuenta en GitHub
- Crear repositorio en GitHub
- Enlazar repositorio local con repositorio remoto en GitHub
- Enlazar el repositorio de GitHub con nuestro website de Azure
- Realizar push de los archivos al repositorio remoto en GitHub para publicar automáticamente en Azure websites
Por último, recuerda que puedes ponerte en contacto con nosotros cuando quieras o estar al día de todas las novedades a través de nuestros rincones en las redes sociales:
Un saludo,
Gorka Madariaga (@Gk_8)