Ha llegado el momento de desplegar nuestra aplicación ASP.NET Core en los entornos de nuestro cliente. Toca pensar cómo vamos a parametrizar en cada entorno los valores adecuados, para que el contexto de la aplicación sea la del entorno en la que se está ejecutando.
Si no os habéis dado cuenta, en .NET Core no tenemos, por defecto, web.config y aparece un fichero JSON llamada appsettings.
Lo primero es asimilar que nuestra aplicación .NET Core podrá hospedarse de diferentes formas:
Ahora vamos a por el Appsettings.json, un fichero muy simple que nos permite establecer las variables de ejecución de nuestra aplicación y con el que podemos elegir si queremos un único fichero o tener un fichero por entorno, por ejemplo: appsettings.Development.json, appsettings.Production.json, appsettings.Staging.json, appsettings.XXX.json.
Con esta nomenclatura de entorno, podemos configurar el WebHost de nuestra aplicación para que lea las variables de contexto del fichero adecuado a cada entorno, con el siguiente fragmento de código:
ASP.NET Core carga la variable ASPNETCORE_ENVIRONMENT cuando la aplicación se inicia, y guarda el valor de esa variable en la propiedad EnvironmentName del objeto IHostingEnvironment, que por defecto tiene el valor «Production».
Aquí tenemos que tener en cuenta el host, ya que el procedimiento no es el mismo para Azure, IIS o Linux.
En Azure App Service podemos configurar una settings con la clave ASPNETCORE_ENVIRONMENT y el valor correspondiente al entorno, por ejemplo, Staging.
Aquí tenemos varias opciones:
En Linux podemos exportar la variable o crear un perfil del aplicación bash con el export correspondiente
export ASPNETCORE_ENVIRONMENT=Development
Por supuesto, no es el único método, también podemos utilizar alguna tarea de transformación de las variables en la release de Visual Studio Team System y desplegar automáticamente con los valores adecuados a cada entorno.
Este sitio web utiliza cookies para que tengas la mejor experiencia de usuario. Si continuas navegando, estás dando tu consentimiento para aceptar las cookies y también nuestra política de cookies (esperemos que no te empaches con tanta cookie 😊)