From 94b64ef592d6c556b87d997263588ad20f1ff004 Mon Sep 17 00:00:00 2001 From: Eric Fleming Date: Sun, 19 Feb 2017 22:39:56 -0500 Subject: [PATCH 1/5] Creating the article --- .../getting-started/configuring-different-environments.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 content/asp.net/getting-started/configuring-different-environments.md diff --git a/content/asp.net/getting-started/configuring-different-environments.md b/content/asp.net/getting-started/configuring-different-environments.md new file mode 100644 index 0000000..e64dfdd --- /dev/null +++ b/content/asp.net/getting-started/configuring-different-environments.md @@ -0,0 +1,4 @@ +# Configuring Different Environments +by [Eric Fleming](https://ericflemingblog.wordpress.com) + +## \ No newline at end of file From 2ab21c77429e1a29343dce3673ecc61162512f32 Mon Sep 17 00:00:00 2001 From: Eric Fleming Date: Mon, 20 Feb 2017 21:09:40 -0500 Subject: [PATCH 2/5] WIP - switching computers --- .../configuring-different-environments.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/content/asp.net/getting-started/configuring-different-environments.md b/content/asp.net/getting-started/configuring-different-environments.md index e64dfdd..aa1fd8b 100644 --- a/content/asp.net/getting-started/configuring-different-environments.md +++ b/content/asp.net/getting-started/configuring-different-environments.md @@ -1,4 +1,21 @@ # Configuring Different Environments by [Eric Fleming](https://ericflemingblog.wordpress.com) -## \ No newline at end of file +In ASP.NET Core controlling application behavior across multiple environments, such as developement, staging, and production, has been improved through the use of environment variables. Environment variables are used to indicate which environment the application is running in, allowing the application to be configured appropriately. + +## Environment Based Settings Files + + + + + + + + +## Use launchSettings to Set Environment in Visual Studio + +## Manually Set Environment Variables in Windows + + +```c# +``` \ No newline at end of file From 1a6ce13669caa338967f4ec9b493cd10016171be Mon Sep 17 00:00:00 2001 From: Eric Fleming Date: Tue, 21 Feb 2017 17:23:16 -0500 Subject: [PATCH 3/5] Content for major bullet points --- .../configuring-different-environments.md | 134 +++++++++++++++++- .../images/systemsetting_environment.png | Bin 0 -> 110421 bytes .../images/windows_aspnetcore_environment.png | Bin 0 -> 2872 bytes 3 files changed, 132 insertions(+), 2 deletions(-) create mode 100644 content/asp.net/getting-started/images/systemsetting_environment.png create mode 100644 content/asp.net/getting-started/images/windows_aspnetcore_environment.png diff --git a/content/asp.net/getting-started/configuring-different-environments.md b/content/asp.net/getting-started/configuring-different-environments.md index aa1fd8b..7e6c7a8 100644 --- a/content/asp.net/getting-started/configuring-different-environments.md +++ b/content/asp.net/getting-started/configuring-different-environments.md @@ -4,18 +4,148 @@ by [Eric Fleming](https://ericflemingblog.wordpress.com) In ASP.NET Core controlling application behavior across multiple environments, such as developement, staging, and production, has been improved through the use of environment variables. Environment variables are used to indicate which environment the application is running in, allowing the application to be configured appropriately. ## Environment Based Settings Files +In the constructor of the Startup class, we have the following. +```c# +public Startup(IHostingEnvironment env) +{ + var builder = new ConfigurationBuilder() + .SetBasePath(env.ContentRootPath) + .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) + .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) + .AddEnvironmentVariables(); + Configuration = builder.Build(); +} +``` + +This gives you the ability to use more than one appsettings.json file by leveraging environment variables. Keep in mind, settings files are [read in the order they are specified](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration). + +```c# +.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) +``` + +{env.EnvironmentName} corresponds to the environment variable `ASPNETCORE_ENVIRONMENT`. This environment variable will be updated throughout the environments; for example, on Staging the environment variable will likely be set to `Staging`, and for production it will likely be set to `Production`. + +For local development, in Visual Studio, this is set to `Development`. + +You can check this value in your project's debug profiles. (Screenshot here?) +Note: On Windows or macOS, environment names are not case sensitive meaning `DEVELOPMENT`, `Development` and `development` will all provide you the same result. On Linux, since it is a case sensitive OS by default, assuming case sensitivity for environment variables is encouraged. +## Developer Error Page +In order to easily interact with specific environments, ASP.NET Core has provided the `IHostingEnvironment` abstraction which can be injected into the startup logic via [Dependency Injection](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection). You'll notice in the constructor above, the `IHostingEnvironment` is what is used to access the `EnvironmentName` when loading configuration files. + +In order to use this `IHostingEnvironment` to use the developer error page, add the following to the `Configure` method of the `Startup` class. + +```c# +public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) +{ + if (env.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + app.UseBrowserLink(); + } + else + { + app.UseExceptionHandler("/Home/Error"); + } +``` + +In the above, the `IHostingEnvironment` provides a method `IsDevelopment` which will check the `ASPNETCORE_ENVIRONMENT` variable for the value `Development`. If this is true the developer error page, which should typically not be run in a production environment, will be used to display errors. If it is any other environment, the standard error handling page will be used. ## Use launchSettings to Set Environment in Visual Studio +The `Properties` folder in Visual Studio contains the `launchSettings.json` file. The `launchSettings.json` holds settings specific to each profile Visual Studio is configured to use to launch the application, including any environment variables that should be used. For the development environment in Visual Studio, the `IIS Express` profile will be used. This profile also specifies to use the `ASPNETCORE_ENVIRONMENT` variable with a value of `Development`. -## Manually Set Environment Variables in Windows +```c# +{ + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:62101/", + "sslPort": 0 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} +``` +Adding profiles can be done by adding them to this `launchSettings.json` file. For example, adding a new profile for the Staging environment with a different value for the `ASPNETCORE_ENVIRONMENT` variable will look like the following. ```c# -``` \ No newline at end of file +{ + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:62101/", + "sslPort": 0 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express (Staging)": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Staging" + } + } + } +} +``` + +There are now two profiles, `IIS Express` and `IIS Express (Staging)`, which can be used to launch the application with their respective environment variables. + +Note: Changes made to project profiles or to launchSettings.json directly may not take effect until the web server used is restarted (in particular, Kestrel must be restarted before it will detect changes made to its environment). +Warning: Environment variables stored in launchSettings.json are not secured in any way and will be part of the source code repository for your project, if you use one. Never store credentials or other secret data in this file. If you need a place to store such data, use the Secret Manager tool described in [Safe storage of app secrets during development](https://docs.microsoft.com/en-us/aspnet/core/security/app-secrets#security-app-secrets). + +## Manually Set Environment Variables in Windows +To set the `ASPNETCORE_ENVIRONMENT` for the current session, if the app is started using `dotnet run`, the following commands are used + +#### Command Line + ```powershell + setx ASPNETCORE_ENVIRONMENT "Development" + ``` + + ```powershell + $Env:ASPNETCORE_ENVIRONMENT = "Development" + ``` + + These commands take effect only for the current window. When the window is closed, the `ASPNETCORE_ENVIRONMENT` setting reverts to the default setting or machine value. In order to set the value globally on Windows open the Control Panel > System > Advanced system settings and add or edit the `ASPNETCORE_ENVIRONMENT` value. + + ## Manually Set Environment Variables in macOS + Setting the current environment for macOS can be done in-line when running the application; + + ```bash + ASPNETCORE_ENVIRONMENT=Development dotnet run + ``` +or using export to set it prior to running the app. + + ```bash +export ASPNETCORE_ENVIRONMENT=Development + ``` + + Machine level environment variables are set in the .bashrc or .bash_profile file. Edit the file using any text editor and add the following statment. + + ```powershell + export ASPNETCORE_ENVIRONMENT=Development + ``` diff --git a/content/asp.net/getting-started/images/systemsetting_environment.png b/content/asp.net/getting-started/images/systemsetting_environment.png new file mode 100644 index 0000000000000000000000000000000000000000..3b423b4e0112a0abd1383a491edf9defa11543cb GIT binary patch literal 110421 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 E04Nrr5&!@I literal 0 HcmV?d00001 diff --git a/content/asp.net/getting-started/images/windows_aspnetcore_environment.png b/content/asp.net/getting-started/images/windows_aspnetcore_environment.png new file mode 100644 index 0000000000000000000000000000000000000000..800559d0f3ce8f42db8cf2adb5385e52f03927ca GIT binary patch literal 2872 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 literal 0 HcmV?d00001 From 03d7969ab14f7aed29a57fa9b84a99d558aae3f3 Mon Sep 17 00:00:00 2001 From: Eric Fleming Date: Tue, 21 Feb 2017 18:04:25 -0500 Subject: [PATCH 4/5] Adding images, adjusting formatting, and wording --- .../configuring-different-environments.md | 32 ++++++++++-------- .../images/project-properties-debug.png | Bin 0 -> 18590 bytes 2 files changed, 17 insertions(+), 15 deletions(-) create mode 100644 content/asp.net/getting-started/images/project-properties-debug.png diff --git a/content/asp.net/getting-started/configuring-different-environments.md b/content/asp.net/getting-started/configuring-different-environments.md index 7e6c7a8..c8e1485 100644 --- a/content/asp.net/getting-started/configuring-different-environments.md +++ b/content/asp.net/getting-started/configuring-different-environments.md @@ -1,10 +1,10 @@ # Configuring Different Environments by [Eric Fleming](https://ericflemingblog.wordpress.com) -In ASP.NET Core controlling application behavior across multiple environments, such as developement, staging, and production, has been improved through the use of environment variables. Environment variables are used to indicate which environment the application is running in, allowing the application to be configured appropriately. +In ASP.NET Core controlling application behavior across multiple environments, such as developement, staging, and production, has been improved through the expanded use of environment variables. Environment variables are used to indicate which environment the application is running in, and can be detected programmatically allowing the application to be configured appropriately. ## Environment Based Settings Files -In the constructor of the Startup class, we have the following. +The constructor of the Startup class, found below, provides the ability to use more than one appsettings.json file by leveraging these environment variables. Since the `appsettings` configurations are [read in the order they are specified](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration), the general `appsettings` configuration will be loaded first, followed by an environment specific `appsettings` configuration. ```c# public Startup(IHostingEnvironment env) @@ -18,26 +18,26 @@ public Startup(IHostingEnvironment env) } ``` -This gives you the ability to use more than one appsettings.json file by leveraging environment variables. Keep in mind, settings files are [read in the order they are specified](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration). +The following loads the environment specific `appsettings.json` configuration; ```c# .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) ``` -{env.EnvironmentName} corresponds to the environment variable `ASPNETCORE_ENVIRONMENT`. This environment variable will be updated throughout the environments; for example, on Staging the environment variable will likely be set to `Staging`, and for production it will likely be set to `Production`. +where `{env.EnvironmentName}` corresponds to the environment variable `ASPNETCORE_ENVIRONMENT`. When using Visual Studio, the value for the `ASPNETCORE_ENVIRONMENT` variable can be found in your project's debug profiles show below: -For local development, in Visual Studio, this is set to `Development`. +![Project properties debug](images/project-properties-debug.png) -You can check this value in your project's debug profiles. (Screenshot here?) - -Note: On Windows or macOS, environment names are not case sensitive meaning `DEVELOPMENT`, `Development` and `development` will all provide you the same result. On Linux, since it is a case sensitive OS by default, assuming case sensitivity for environment variables is encouraged. +and should be set to `Development` by default. +Environment variables will be updated throughout the environments; for example, on Staging the environment variable will likely be set to `Staging`, and for production it will likely be set to `Production`. +> Note: On Windows or macOS, environment names are not case sensitive meaning `DEVELOPMENT`, `Development` and `development` will all provide you the same result. On Linux, since it is a case sensitive OS by default, assuming case sensitivity for environment variables is encouraged. ## Developer Error Page -In order to easily interact with specific environments, ASP.NET Core has provided the `IHostingEnvironment` abstraction which can be injected into the startup logic via [Dependency Injection](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection). You'll notice in the constructor above, the `IHostingEnvironment` is what is used to access the `EnvironmentName` when loading configuration files. +In order to easily interact with specific environments, ASP.NET Core has provided the `IHostingEnvironment` abstraction which can be injected into the startup logic via [Dependency Injection](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection). For example, in the constructor above, the `IHostingEnvironment` is used to access the `EnvironmentName` when loading configuration files. -In order to use this `IHostingEnvironment` to use the developer error page, add the following to the `Configure` method of the `Startup` class. +In order to use this `IHostingEnvironment` for displaying the developer error page only in the `Development` environment, add the following to the `Configure` method of the `Startup` class. ```c# public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) @@ -53,9 +53,7 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerF } ``` -In the above, the `IHostingEnvironment` provides a method `IsDevelopment` which will check the `ASPNETCORE_ENVIRONMENT` variable for the value `Development`. If this is true the developer error page, which should typically not be run in a production environment, will be used to display errors. If it is any other environment, the standard error handling page will be used. - - +In the above, the `IHostingEnvironment` provides a method `IsDevelopment` which checks the `ASPNETCORE_ENVIRONMENT` variable for the value `Development`. If this is true the developer error page, which should typically not be run in a production environment, will be used to display errors. If it is any other environment, the standard error handling page will be used. ## Use launchSettings to Set Environment in Visual Studio The `Properties` folder in Visual Studio contains the `launchSettings.json` file. The `launchSettings.json` holds settings specific to each profile Visual Studio is configured to use to launch the application, including any environment variables that should be used. For the development environment in Visual Studio, the `IIS Express` profile will be used. This profile also specifies to use the `ASPNETCORE_ENVIRONMENT` variable with a value of `Development`. @@ -82,7 +80,7 @@ The `Properties` folder in Visual Studio contains the `launchSettings.json` file } ``` -Adding profiles can be done by adding them to this `launchSettings.json` file. For example, adding a new profile for the Staging environment with a different value for the `ASPNETCORE_ENVIRONMENT` variable will look like the following. +Adding profiles can be done by adding them to the `launchSettings.json` file. For example, adding a new profile for the Staging environment with a different value for the `ASPNETCORE_ENVIRONMENT` variable will look like the following: ```c# { @@ -115,7 +113,7 @@ Adding profiles can be done by adding them to this `launchSettings.json` file. F There are now two profiles, `IIS Express` and `IIS Express (Staging)`, which can be used to launch the application with their respective environment variables. -Note: Changes made to project profiles or to launchSettings.json directly may not take effect until the web server used is restarted (in particular, Kestrel must be restarted before it will detect changes made to its environment). +> Note: Changes made to project profiles or to launchSettings.json directly may not take effect until the web server used is restarted (in particular, Kestrel must be restarted before it will detect changes made to its environment). Warning: Environment variables stored in launchSettings.json are not secured in any way and will be part of the source code repository for your project, if you use one. Never store credentials or other secret data in this file. If you need a place to store such data, use the Secret Manager tool described in [Safe storage of app secrets during development](https://docs.microsoft.com/en-us/aspnet/core/security/app-secrets#security-app-secrets). ## Manually Set Environment Variables in Windows @@ -132,6 +130,10 @@ To set the `ASPNETCORE_ENVIRONMENT` for the current session, if the app is start These commands take effect only for the current window. When the window is closed, the `ASPNETCORE_ENVIRONMENT` setting reverts to the default setting or machine value. In order to set the value globally on Windows open the Control Panel > System > Advanced system settings and add or edit the `ASPNETCORE_ENVIRONMENT` value. +![System Setting Environemtn](images/systemsetting_environment.png) + +![Windows AspNet Core Environment](windows_aspnetcore_environment.png) + ## Manually Set Environment Variables in macOS Setting the current environment for macOS can be done in-line when running the application; diff --git a/content/asp.net/getting-started/images/project-properties-debug.png b/content/asp.net/getting-started/images/project-properties-debug.png new file mode 100644 index 0000000000000000000000000000000000000000..5f10f4daf5d13a412193bb5ae869f8bd6232eb10 GIT binary patch literal 18590 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 F{|8 Date: Thu, 6 Apr 2017 21:38:39 -0400 Subject: [PATCH 5/5] Reacting to feedback --- .../configuring-different-environments.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/asp.net/getting-started/configuring-different-environments.md b/content/asp.net/getting-started/configuring-different-environments.md index c8e1485..f198a51 100644 --- a/content/asp.net/getting-started/configuring-different-environments.md +++ b/content/asp.net/getting-started/configuring-different-environments.md @@ -1,10 +1,10 @@ # Configuring Different Environments -by [Eric Fleming](https://ericflemingblog.wordpress.com) +by [Eric Fleming](http://deviq.com/me/eric-fleming/) In ASP.NET Core controlling application behavior across multiple environments, such as developement, staging, and production, has been improved through the expanded use of environment variables. Environment variables are used to indicate which environment the application is running in, and can be detected programmatically allowing the application to be configured appropriately. ## Environment Based Settings Files -The constructor of the Startup class, found below, provides the ability to use more than one appsettings.json file by leveraging these environment variables. Since the `appsettings` configurations are [read in the order they are specified](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration), the general `appsettings` configuration will be loaded first, followed by an environment specific `appsettings` configuration. +The constructor of the Startup class, found below, provides the ability to use more than one appsettings.json file by leveraging these environment variables. Since the `appsettings` configurations are [read in the order they are specified](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration), the general `appsettings` configuration will be loaded first, followed by an environment specific `appsettings` configuration. Keep in mind, if a setting exists in multiple settings files the **last settings file loaded will win**. ```c# public Startup(IHostingEnvironment env) @@ -24,13 +24,13 @@ The following loads the environment specific `appsettings.json` configuration; .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) ``` -where `{env.EnvironmentName}` corresponds to the environment variable `ASPNETCORE_ENVIRONMENT`. When using Visual Studio, the value for the `ASPNETCORE_ENVIRONMENT` variable can be found in your project's debug profiles show below: +where `{env.EnvironmentName}` corresponds to the value of the environment variable `ASPNETCORE_ENVIRONMENT`. When using Visual Studio, the value for the `ASPNETCORE_ENVIRONMENT` variable can be found in your project's debug profiles show below: ![Project properties debug](images/project-properties-debug.png) and should be set to `Development` by default. -Environment variables will be updated throughout the environments; for example, on Staging the environment variable will likely be set to `Staging`, and for production it will likely be set to `Production`. +Environment variables can be configured for each environment in which the application may be deployed; for example, on Staging the environment variable will likely be set to `Staging`, and for production it will likely be set to `Production`. > Note: On Windows or macOS, environment names are not case sensitive meaning `DEVELOPMENT`, `Development` and `development` will all provide you the same result. On Linux, since it is a case sensitive OS by default, assuming case sensitivity for environment variables is encouraged. @@ -148,6 +148,6 @@ export ASPNETCORE_ENVIRONMENT=Development Machine level environment variables are set in the .bashrc or .bash_profile file. Edit the file using any text editor and add the following statment. - ```powershell + ```bash export ASPNETCORE_ENVIRONMENT=Development ```