Integración Continua con el nuevo modelo de Builds de VSO/TFS 2015 (II)

Bueno, ya salimos de Fiestas Patrias y toca cumplir lo prometido, ir conociendo el nuevo modelo de Builds que ha sido introducido en Visual Studio Online y en Tean Foundation Server 2015 (que ya esta disponible en su versión final) y como comentabamos, se usara el ejemplo Parts Unlimited, que por tener ya las cosas hechas respecto a integración con BD nos servira para dar una visión integral del despliegue.

Los pasos que seguiremos seran los siguientes:

1) Descargar el código fuente de Github, crear nuestro repositorio en VSO y hacer las pruebas en local.

2) Preparar los Resource Group y todas los recursos Azure necesarios para el despliegue desde Visual Studio, de esta manera no tendremos que crear las cosas manualmente desde el Portal, salvo que sea estrictamente necesario.

3) Preparar la Build propiamente dicha y probarla.

Lo primero es crear un proyecto en Visual Studio Online, nótese que como siempre elegimos Scrum como plantilla y en este caso usaremos Git como modelo de repositorio.
Clipboard04

Luego de esto toca conectarse a dicho proyecto desde nuestro Visual Studio, y luego proceder a clonar el repositorio (que forma parte del proyecto de VSO), en este caso el repositorio aun estará vació (a menos que hayamos creado un readme desde el portal de nuestro proyecto), en mi caso particular edite la carpeta local donde se va a clonar el repositorio pues por defecto Visual Studio intenta crear los repositorios locales de Git en el disco C:

Clipboard05Ahora viene la parte interesante, Parts Unlimited es un proyecto muy interesante que si bien empezo con ASP.NET 4.x ahora están trabajando en una version basada en ASP.NET 5, pero para efectos de esta demo de Integración Continua nos basaremos en la versión 4.X para lo cual deberemos dirigirnos a este branch en GitHub, desde donde podremos bajarnos un Zip con todo el proyecto, lo descargamos luego de lo cual estaremos listos para integrarlo en nuestro repositorio Git de VSO.

Abrimos el zip y lo desempaquetamos en la ruta donde habíamos clonado previamente nuestro repositorio:

Clipboard06

Luego de esto podremos ver que el .sln ya esta disponible para trabajar en nuestro VS.

Clipboard07Ahora bien, toca afrontar un pequeño detalle, editar el archivo .gitignore que como recordaremos nos permite indicar que archivos no se subirán al repositorio por mas que formen parte de la ruta de un commit, esto es muy conveniente para evitar subir las .dll .exe y demás cosas, el problema es que Visual Studio por defecto incluye los Publish Profiles dentro de dicho archivo, por lo que no habrá forma de versionarlos si es que esa era nuestra intención, y mucho menos de compartirlos con el equipo, así que editamos el .gitignore como se ve en pantalla comentando con un # la entrada respectiva.

Clipboard07a

Ok, ahora abriremos la solución y la recompilaremos para que de esta manera se bajen todas las referencias Nuget que hagan falta.

Clipboard11Clipboard19Ahora toca hacer el commit de este proyecto, en esta etapa primero subiremos el proyecto a la rama master tanto local como remota, para luego crearnos una branch de trabajo que también tendrá su respectiva correspondencia remota, asi que de nuevo demosle clic derecho a la solución y…

Clipboard12

Puede que se nos pregunte si queremos usar TFVC o Git, como es lógico elegiremos Git y luego procederemos a hace commit del proyecto, y nos saldrá el siguiente dialogo: Clipboard13Como se ve la rama a la que se sube es a la master (siempre hay una), este dialogo es muy interesante para analizar lo que VS esta subiendo y lo que no, hacemos clic a commit, y nos saldrá este nuevo dialogo indicando que ya hemos hecho commit (o protegido o checkin segun la terminología que ya conocíamos de TFVC) de nuestro proyecto, pero solo localmente, siendo que se nos invita a sincronizar los cambios con lo existente en el servidor (que esta primera vez es … nada, o solo un readme), así que editamos el texto y hacemos clic en el enlace “Sync” que vemos ahi.

Clipboard14Nuevo dialogo, sincronizamos:

Clipboard15Y listo, todo sincronizado en el servidor

Clipboard16

Como dije con esto hemos preparado nuestra rama master, ahora prepararemos nuestra rama (branch) de trabajo, para lo cual vamos al Home del proyecto en el Team Explorer y elegimos Branches:

Clipboard08Ahi podemos ver las branches existentes, como es la primera vez solo debería aparecer la master, la seleccionamos y hacemos clic derecho indicando que queremos crear una nueva branch a partir de ella.

Clipboard09

Ahora si que corresponde crear nuestra branch, la mia la he llamado milocal2, llenamos el cuadro de dialogo de manera acorde y le damos a Create Branch:

Clipboard17Hecho esto nos saldrá un cuadro de dialogo que confirma la creación local del branch invitandonos a publicar la rama en el servidor, lo hacemos

Clipboard18

Ok, ahora toca comprobar que todo lo que hemos hecho se ha reflejado en el servidor, así que vamos a la web de nuestro proyecto en VSO y revisamos la pestaña de Code, deberías tener algo similar a lo que estoy mostrando:

Clipboard20

Perfecto, tenemos tanto a master como a milocal2, ahora ya estamos listos para empezar a trabajar.

Como paso final toca probar la aplicación, le damos a ejecutar y deberiamos ver algo similar a esto:

Clipboard21

Ahora bien, debo confesar que la primera vez no funciono bien debido a que en una de mis reinstalaciones se afecto la instancia LocalDB de SQL Server, pero eso felizmente se pudo solucionar siguiendo estas instrucciones, nada fuera del otro mundo.

Pues bien, ya esta el repositorio arriba, esto recién empieza….

 

One thought on “Integración Continua con el nuevo modelo de Builds de VSO/TFS 2015 (II)

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *

Time limit is exhausted. Please reload the CAPTCHA.