Azure DevOps ahora permite renombrar el branch principal

Mas allá del tema sociopolítico que ha generado el tema. Microsoft ahora permite modificar el nombre por default del branch principal para repositorios nuevos de Azure DevOps.

Si bien, anteriormente se podía seleccionar un branch distinto al ‘master’ como principal (o para ser el default) y eliminar el ‘master’. Ahora Azure DevOps permite inicializar repositorios con un nombre distinto al usual como branch por default.

Esta configuración la podemos encontrar en las configuraciones del proyecto (Project settings), en la opción de repositorios (Repositories), en el tab de configuraciones (Settings). Bastará con habilitar la opción de nombre de rama predeterminado para nuevos repositorios (Default branch name for new repositories) y configurar el nombre a elegir.

Nuevamente, más allá de la controversia, bien por ese movimiento por parte de Microsoft.

Jornada 1 de Asp .Net MCV en Español

Desde la comunidad de desarrolladores en facebook ‘Asp.Net MVC (Español)’ [https://www.facebook.com/groups/aspmvc.es] los invitamos a nuestra “Jornada 1 de Asp .Net MCV en Español”. Este próximo Martes 30 de Junio donde tendremos 4 conferencias virtuales sobre el desarrollo web con tecnologías Microsoft.

-.Asp.Net MVC con Arquitectura en Capas de 0 a 100.-
Aprende a crear aplicaciones web con Asp .Net MVC usando la arquitectura en capas. Iremos de 0 a 100 en donde repasaremos los conceptos básicos de MVC aprovechando la oportunidad de construir una aplicación en capas.
Jorge Levy
Martes 30 de Junio, 12:30pm (Horario CdMx : UTC -5) [Encuentra tu horario en: https://bit.ly/2YH3RYr]
Transmisión en Facebook: https://www.facebook.com/groups/aspmvc.es/permalink/3004745839602153/
Transmisión en YouTube: https://www.youtube.com/watch?v=OeAZPR6kZEw

-.Moviéndonos a Entity Framework Core.-
Muchos proyectos los hemos trabajado usando Entity Framework (tradicional) usando archivos EDMX. Para muchos, la sorpresa fue que EF Core no soporta estos archivos.
La charla se dirige a los developers que no saben o no se han visto en la situación de migrar un modelo EDMX a EF Core, vamos a hacerlo paso a paso.
Pastor Cortés Osorno
Martes 30 de Junio, 2:00pm (Horario CdMx : UTC -5) [Encuentra tu horario en: https://bit.ly/31pC6p3]
Transmisión en Facebook: https://www.facebook.com/groups/aspmvc.es/permalink/3004754766267927/
Transmisión en YouTube: https://www.youtube.com/watch?v=JxqwxUoQc7o

-.Implementar Azure Cosmos DB en nuestros proyectos Asp .Net MVC.-
Esta charla se basara en explicar de que trata Azure Cosmos DB, comenzaremos, en vivo, un simple proyecto MVC que implemente Azure Cosmos DB como motor de base de datos y como frutilla del postre, publicaremos este sitio en Azure App Service
Lautaro Carro
Martes 30 de Junio, 3:30pm (Horario CdMx : UTC -5) [Encuentra tu horario en: https://bit.ly/2YLOONg]
Transmisión en Facebook: https://www.facebook.com/groups/aspmvc.es/permalink/3004760129600724/
Transmisión en YouTube: https://www.youtube.com/watch?v=PKhbGoBFznQ

-.Blazor WebAssembly.-
Conoce la nueva propuesta para desarrollo de aplicaciones web interactivas del lado del cliente utilizando C# en lugar de JavaScript.
Miguel Muñoz Serafín
Martes 30 de Junio, 5:00pm (Horario CdMx : UTC -5) [Encuentra tu horario en: https://bit.ly/2BMHQP0]
Transmisión en Facebook: https://www.facebook.com/groups/aspmvc.es/permalink/3004762449600492/
Transmisión en YouTube: https://www.youtube.com/watch?v=QcMxE3Ssxnk

Cobertura de código para pruebas unitarias en C# con Coverlet

Ahora que he estado utilizando la versión Community de Visual Studio, una de las características que considero hacen la diferencia respecto a la versión Enterprise es la falta de Cobertura de Código para las Pruebas Unitarias (Code Coverage en inglés) en la versión community. Esta característica permite medir en porcentaje y visualizar con marcado de líneas toda aquellas líneas de código que son tocadas, o no, con nuestras pruebas.

Es aquí donde Coverlet y ReportGenerator entran en juego permitiendo por medio de paquetes Nugets y otras herramientas del dotnet, realizar dicha tarea. Así pues, en esta entrada, veremos como generar los reportes de cobertura utilizando Coverlet. Y posteriormente se mostrara el uso de la herramienta proveída por ReportGenerator para obtener el reporte visual en formato html.

Configurar el proyecto de pruebas

Lo primero que se necesita realizar es agregar al proyecto de pruebas (puede ser tanto MSUnit como Xunit) el paquete nuget:

Install-Package coverlet.msbuild

* Verificar que el proyecto de pruebas también incluya el paquete coverlet.collector

Una vez configurado el proyecto, los siguientes pasos serán realizados en una Consola de Windows (command prompt en inglés). Recomendando utilizar la terminar proveída por Visual Studio.

Preparación del ambiente

Como preparación del ambiente, será necesario instalar la herramienta dotnet-reportgenerator-globaltool. Aún y cuando esta herramienta es provista por medio de los paquetes nugets, esta debe de ser instalada usando la Consola de Windows.

dotnet tool install -g dotnet-reportgenerator-globaltool

*Con este comando, la herramienta se instalará globalmente. Si el desarrollador así lo desea, puede ser instalado localmente en el directorio de la solución.

Ejecutar las pruebas con recolección de cobertura de código

Una vez posicionados en el directorio de la solución, el primer paso a realizar, será llamar el commando para la ejecución de la pruebas. A este comando se le deberá añadir los parámetros necesarios para la recolección de la cobertura y el directorio de salida donde poner estos resultados.

dotnet test /p:CollectCoverage=true
/p:CoverletOutputFormat=cobertura
/p:CoverletOutput="./../TestResults/"

Generar el reporte html

El siguiente paso consistirá en utilizar la herramienta de generación del reporte que instalamos para el dotnet seleccionando el archivo xml generado en el paso anterior y seleccionando que el reporte sea generado en html.

reportgenerator.exe "-reports:TestResults\coverage.cobertura.xml"
"-targetdir:TestResults\html"
"-reporttypes:HTML;"

Una vez realizado esto, se podrá acceder al reporte html, ejecutando el navegador sobre el archivos generado.

Visualizar el reporte

.\TestResults\html\index.htm

Obteniendo un reporte con las clases que las pruebas unitarias están ejecutando, marcando en verde las líneas de código que si son ejecutadas, mientras las que no se ejecutan marcadas de color rojo.

Presentación de Azure DevOps con enfoque en Pruebas Unitarias

En el marco de la “Jornada de Arquitectura .Net” en su edición de “Unit Test Everywhere” los pasados días 19 y 20 de Mayo, tuve el honor de hacer la presentación de “Azure DevOps con enfoque en las ejecución de Pruebas Unitarias”.

En esta presentación tuvimos oportunidad de conocer como se configuran pipelines con la ejecución de pruebas unitarias. Con esto pudimos verificar el resultado de la ejecución de las pruebas en el reporte entregado por Azure DevOps. Además de configurar y visualizar el reporte de cobertura de código. Por último, pudimos aprender como proteger branches para aceptar pull request o commits dependiendo del resultado de la ejecución de las pruebas.

Aquí el video en el canal de YouTube de la comunidad:

Y esos los recursos mencionados en la presentación:

Presentación Azure DevOps con CI/CD

El pasado sábado 23 de Mayo, fui invitado por la comunidad Latino .Net Online para participar en su webcast semanal con la presentación “Azure DevOps.- Pipelines, integraciones y entregas continuas”.

En esta presentación tuvimos la oportunidad de conocer como se configura un proyecto Azure DevOps, creamos un repositorio de código y aprendimos como generar Pipelines de compilación y despliegue de una aplicación a servicios Azure.

Aquí el video en el canal de YouTube de la comunidad:

Y esos los recursos mencionados en la presentación:

  • Proyecto de Azure DevOps: https://dev.azure.com/jorgelevy/AzureDevOps
  • Presentación: https://1drv.ms/p/s!ApIVcAn3qQxFl4JN9ifRoybXGmx5QQ
  • Azure DevOps: https://azure.microsoft.com/es-es/services/devops/

Configurar una Aplicación ASP.NET Core Web para ejecutarse en IIS local.

Si en alguna ocasión te encuentras con la necesidad de configurar una aplicación web de .Net Core en tu servidor local IIS. Estos los pasos para lograrlo:

1.- Habilitar IIS en la computadora.

Esto se logra habilitando el IIS con la opción que se encuentra dentro de “Activar o desactivar las características de Windows” en la sección de “Programas y caracteristicas”.
*En donde usualmente se desinstalan programas.

Activar o desactivar características de Windows

Y seleccionando la opción de Internet Information Services

Instalar IIS
Nota: Para habilitar soporte para aplicaciones .Net típicas, se puede seleccionar los diferentes características deseadas en la sección de “Características de desarrollo de aplicaciones”

2.- Habilitar “Soporte de IIS en tiempo de desarrollo” en Visual Studio

En el Instalador de Visual Studio se deberá de incluir la opción de “Soporte de IIS en tiempo de desarrollo”. Esta opción se encuentra deshabilitada por default en las opciones de “ASP.NET Y Desarrollo Web” y deberá ser habilitada.

3.- Configurar la aplicación web

Finalmente, ejecutando Visual Studio como administrador, se deberá de configurar un perfil de publicación donde se configure la ejecución desde IIS, en el sección de “Depuración” en las propiedades del proyecto.
Con el botón de crear nuevo perfil, el cual podrá recibir cualquier nombre, configurando que la aplicación sea ejecutada utilizando IIS y seleccionando el URL de la aplicación.

4.- Ejecutar la aplicación

Una vez configurada la aplicación web, el perfil creado estará disponible en la opciones de depuración.