NetCoreApiVersionDemo
A basic API in .NET CORE 3.1 in order to show an API versioning
Cuando queremos compartir, testear y/o analizar el comportamiento de nuestra APIs de .NET Core en un entorno de pruebas diferente a local, tenemos muchos proveedores en la nube con opciones gratuitas como AWS, Windows Azure, pero en este artículo te enseñaré otra opción, mucho más fácil y rápida para realizar tu despliegue, Heroku.
Heroku es un PASS respaldado por Salesforce y permite a los desarrolladores desplegar sus aplicaciones de una forma fácil, gratuita (para aplicaciones de test o poco consumo), que permite el uso de diferentes lenguajes de programación y el despliegue se apoya internamente usando Github.
Para desplegar nuestra API en NET Core utilizaremos el siguiente repositorio el cual contiene una simple API desarollada en NET Core 3.1
A basic API in .NET CORE 3.1 in order to show an API versioning
git clone https://github.com/jhonmarmolejo/NetCoreApiVersionDemo.git
dotnet build
cd MyApi
heroku login
heroku git:remote -a adevintaapi
heroku buildpacks:set jincod/dotnetcore
git push heroku main
NOTA: Actualmente Heroku da error ejecutando este comando ya que necesita que tengamos seteado el stack de heroku-16 o heroku-18.
Para solucionar esto ejecutamos el siguiente comando y establecemos por defecto el stack de heroku-18
heroku stack:set heroku-18
git push heroku main
Y si has seguido correctamente todas las instrucciones ya tenemos desplegada nuestra API en Heroku en la siguiente URL
https://adevintaapi.herokuapp.com/
Y para verificar que está desplegada correctamente, llamamos al único endpoint disponible que tiene esta API de ejemplo
https://adevintaapi.herokuapp.com/api/demo
Y como podemos ver, la api ya nos está devolviendo respuesta
Si queremos modificar nuestra API y desplegar los nuevos cambios es tan simple como subir los cambios a github
git add .
git commit -m "New changes"
git push
Y una vez subido a github, ejecutar el comando para loguearnos en heroku
heroku login
Y luego lo subimos a heroku nuevamente ejecutando el siguiente comando
git push heroku main
Una vez ejecutado, volvemos a llamar al único endpoint disponible de la API y vemos que la respuesta ha cambiado
https://adevintaapi.herokuapp.com/api/demo
Hasta la próxima!