Jenkins con .Net – guía completa

Jenkins es un servidor opensource de integración y automatización hecho en java que soporta Java, Node.js y .Net entre otros.

En esta guía vamos a ver como configurar desde 0 Jenkins para .Net

Primero vamos a ir a la pagina de Jenkins realizar la descarga para windows y seguir el paso a paso

https://jenkins.io/download/

1

2

3

4

En este punto debería aparecer una nueva ventana en el navegador en http://localhost:8080/,  si al principio no carga no te preocupes espera un minuto y vuelve a recargar que seguro se esta levantando el servicio.

5

Para iniciar Jenkins nos pide una contraseña que se encuentra en la ruta indicada en rojo solo es copiar y pegarla.6

Al instalar podemos seleccionar la opción personalizada para seleccionar el plug-in MSBuild inmediatamente.

7

8

Creamos el primer usuario admin con los datos requeridos.

9

Después de completar la instalación así luce la aplicación la primera vez que entramos, los Jobs van hacer las herramientas que vamos a utilizar para automatizar un proceso

10

Debemos inmediatamente ir “Manage Jenkins” a configurar nuestro plugin MSBuild, ingresamos la ruta donde se encuentra el .exe de MSBuild.

MsbuildConfig.png

Debemos llenar los campos “Project name” y dentro de “Source Code Management”, Repository URL y luego en la seccion Build debemos usar la opcion Ad Build Step y agregar 2:

MsbuildConfigProject.png

Primero debemos ejecutar el Batch para restaurar los paquetes de la aplicación, este es un ejemplo con mi proyecto que se llama “WebApiDemoJenkins” es necesario descargar Nuget.exe

https://www.nuget.org/downloads

En mi caso lo tengo almacenado en la carpeta “C:\Users\MTEHERAN\Downloads”

Y lanzo el comando restore para restaurar los paquetes en el proyecto y el proyecto de pruebas relacionado

cd "%WORKSPACE%\WebApiDemoJenkins\"
C:\Users\MTEHERAN\Downloads\nuget.exe restore "%WORKSPACE%\WebApiDemoJenkins\WebApiDemoJenkins.csproj" -PackagesDirectory ..\packages
C:\Users\MTEHERAN\Downloads\nuget.exe restore "%WORKSPACE%\WebApiDemoJenkins.Tests\WebApiDemoJenkins.Tests.csproj" -PackagesDirectory ..\packages

En la sección de Build a Visual Studio project solo seleccionamos la versión de Build que configuramos previamente, debe quedarnos algo como esto:

MsbuildConfigProject2.png

Luego podemos ir al proyecto y ejecutar el build, si este es exitoso nos va marcar un icono azul, sino se verá un icono Rojo donde podemos dar click para ver el detalle de la ejecución

projectBuild.png

Para la pruebas Automatizadas vamos a usar el plugin MSTestRunner plugin

vamos a “Manage Jenkins” -> “Manage Plugins” y vamos buscar e instalar MSTestRunner

Debemos reiniciar el servicio de Jenkis y luego de esto y vamos directo a “Global Tool” para configurar el Plugin

MSTestGuide

Editamos el proyecto y agregamos en la sección de build una sección para la ejecución de las pruebas

MSTestGuide2

En este caso no podemos usar la variable de entorno %WORKSPACE% debemos usar la ruta completa, es una buena practica cambiar la ruta del workspace a una por fuera de Program Files. El archivo Output.trx veremos el resultado de la ejecución de las pruebas

Podemos ejecutar de nuevo el “Build now” y debería compilar el proyecto y las pruebas

.Net Core

.Net core se facilitan las cosas puesto que a través de comandos podemos restaurar los paquetes y compilar solo teniendo instalado .net, entonces en Jenkins agregamos un build con Add Build Step “Execute windows batch”

cd "%WORKSPACE%\WebApiCore\"
dotnet restore
dotnet build --configuration "Release"

netcoreJenkins.png

Ejemplo del resultado que veremos:

Testcore