团队开发中,开发,测试,预发布,生产,不同的角色工作在不同的环境中,不同的环境有不同的作用(有些公司的环境更多,按照自己的交付流程设计),当然不同的环境,配置也不能相同,特别生产数据是隔离的。那asp.net core怎么来对应呢?
asp.net core为了支持不同的环境,可以把配置文件分为设置成appsettings.json,appsettings.Staging.json,appsettings.QA.json,appsettings.Development.json,配置文件中,可以放不同的配置项。
常见的不同环境配置项:
2、外接存存储
3、三方接口url
4、本服务对外端口
5、区分不同环境的标准信息等
下面是三个环境的appsettings文件
Production:appsettings.json
{ "urls": "https://*:5001;http://*:5000", "Logging": { "LogLevel": { "Default": "information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "information" } }, "ConnectionStrings": { "DefaultConnectionString": "server=123.1.1.1;database=ab_db;uid=sa;pwd=!fuzamimi20;" }, "AllowedHosts": "*" }
Staging:appsettings.Staging.json
{ "urls": "https://*:7001;http://*:7000", "Logging": { "LogLevel": { "Default": "information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "information" } }, "ConnectionStrings": { "DefaultConnectionString": "server=123.1.1.2;database=ab_db;uid=sa;pwd=sa;" } }
Development:appsettings.Development.json
{ "urls": "https://*:8001;http://*:8000", "Logging": { "LogLevel": { "Default": "information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "information" } }, "ConnectionStrings": { "DefaultConnectionString": "server=123.1.1.4;database=ab_db;uid=sa;pwd=sa;" } }
Development:appsettings.Development.json
{ "urls": "https://*:9001;http://*:9000", "Logging": { "LogLevel": { "Default": "information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "information" } }, "ConnectionStrings": { "DefaultConnectionString": "server=123.1.1.3;database=ab_db;uid=sa;pwd=sa;" } }
在Visual Studio中,项目属性下,可以查询环境变量
对应UI的配置文件在Properties下的launchSettings.json
{ "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:55263", "sslPort": 44313 } }, "$schema": "http://json.schemastore.org/launchsettings.json", "profiles": { "AspNetCoreEnvironment": { "commandName": "Project", "launchbrowser": true, "launchUrl": "swagger", "environmentvariables": { "ASPNETCORE_ENVIRONMENT": "Development" }, "dotnetRunMessages": "true", "applicationUrl": "https://localhost:9001;http://localhost:9000" } } }
对于Staging环境,如果使用DevOpt,可以在对应工具中来配置Staging或Production环境变量
Jenkins
配置全局环境变量,来配置对应asp.net core ASPNETCORE_ENVIRONMENT的运行时环境
dockerfile
ENV ASPNETCORE_ENVIRONMENT="Staging"
想要更快更方便的了解相关知识,可以关注微信公众号
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。