Archivo

Posts Tagged ‘dotnet restore’

Jenkins con .Net – guía completa

diciembre 30, 2017 Deja un comentario

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

Anuncios

Cambios en tiempo real en .Net Core

diciembre 21, 2017 Deja un comentario

En .net core sabemos que usando el comando donet run podemos ejecutar la aplicación sea WebApi o sitio Web pero si realizamos cambios debemos detener el proceso y volverlo a ejecutar. Para evitar hacer esto y poder hacer cambios en tiempo real podemos agregar el componente Watch a nuestra solución

Abrimos el archivo *.csproj y agregamos el siguiente ItemGroup:

<ItemGroup>

<DotNetCliToolReferenceInclude="Microsoft.DotNet.Watcher.Tools"Version="2.0.0"/>

</ItemGroup>

Después de agregar ese nuevo nuget debemos usar dotnet restore para resturar los paquetes y finalmente usando “Dotnet Watch Run” vamos a ver los cambios en tiempo real solo con refrescar el sitio o la Api

2017-12-21_1810

 

 

 

Ejecutando un sitio ASP.Net core en Linux

ASP.Net es una tecnologia opensource y multiplataforma por lo tanto podemos sin problemas crear, editar y publicar una aplicación en .net core en linux

Microsoft nos explica facilmente desde su pagina oficial cuales son los comandos para instalr el SDK de .net core que vendria siendo el primer paso que debemos dar

https://www.microsoft.com/net/core#linuxredhat

para caso de ubutu tenemos el ejemplo a continuacion:


sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'


sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893


sudo apt-get update

luego solo debemos lanzar el comando estandar de instalación:


sudo apt-get install dotnet-dev-1.0.1

Luego para resturar y correr el proyecto solo necesitamos abrir una consola en al ubicacion del proyecto

corelinux

Y luego los comandos

  • dotnet restore (restaura los paquetes y descarga los nugets que se necesiten)
  • dotnet run ( ejecuta la aplicacion en el servidor interno de .net core)

corelinux2