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
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.
Para iniciar Jenkins nos pide una contraseña que se encuentra en la ruta indicada en rojo solo es copiar y pegarla.
Al instalar podemos seleccionar la opción personalizada para seleccionar el plug-in MSBuild inmediatamente.
Creamos el primer usuario admin con los datos requeridos.
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
Debemos inmediatamente ir “Manage Jenkins” a configurar nuestro plugin MSBuild, ingresamos la ruta donde se encuentra el .exe de MSBuild.
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:
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:
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
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
Editamos el proyecto y agregamos en la sección de build una sección para la ejecución de las pruebas
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"
Ejemplo del resultado que veremos: