728x90
반응형
ASP.NET COre는 환경 변수를 사용하여 런타임 환경에 따라 앱 동작을 구성한다.
다음 환경 변수로 runtime 환경을 확인한다.
1. DOTNET_ENVIRONMENT
2. WebApplication.CreateBuilder 함수가 호출될 때, ASPNETCORE_ENVIRONMENT를 호출하고, DOTNET_ENVIRONMENT를 override한다.
IHostEnvironment.EnvironmentName 기본제공 값
- Development : launchSettings.json 파일은 로컬 컴퓨터에서 ASPNETCORE_ENVIRONMENT를 Development로 설정한다.
- Staging
- Production : DOTNET_ENVIRONMENT 및 ASPNETCORE_ENVIRONMENT가 설정되지 않은 경우 기본값입니다.
DOTNET_ENVIRONMENT값 설정하기
1. Development에서 launchSettings.json
Dev는 Prod에서 노출해서 안되는 기능(개발자 예외 페이지)을 활성화할 수 있다.
로컬 개발환경은 launchSettings.json파일에서 설정할 수 있다.
해당 파일은, local dev환경에서만 사용되고, 배포되지 않는다.
"profiles": {
"Employee": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7215;http://localhost:5215",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
2. 시스템 환경 설정
launchSettings.json의 환경변수는 시스템 환경변수를 재정의한다.
3. Program.cs
//var builder = WebApplication.CreateBuilder(args);
var builder = WebApplication.CreateBuilder(new WebApplicationOptions
{
EnvironmentName = Environments.Staging
});
Console.WriteLine($"Environment Name: {builder.Environment.EnvironmentName}");
var app = builder.Build();
4. web.config
게시프로필(.pubxml)에 추가
<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
게시 후, web.config에 자동으로 환경변수가 추가된 것을 확인할 수 있다.
이 방법은 프로젝트가 게시될 때, web.config에 환경을 설정한다.
결론
로컬 개발환경에서는 launchSetting.json을 사용하고 배포 시, web.config에 환경변수를 설정하는 것이 가장 베스트인 것 같다.
728x90
반응형
'ASP.NET Core' 카테고리의 다른 글
ASP.NET Core] Tag Helper (0) | 2022.01.25 |
---|---|
ASP.NET Core 6] Route Constraints 경로 제약 조건 (0) | 2022.01.25 |
ASP.NET Core 6] 환경변수에서 ConnectionString 관리 (0) | 2022.01.20 |
ASP.NET Core] Configuration (0) | 2022.01.20 |
ASP.NET Core 6] Kestrel vs IIS, Hosting Model (0) | 2022.01.18 |
댓글