• 持续交付一:从开发到上线的环境


      团队开发中,开发,测试,预发布,生产,不同的角色工作在不同的环境中,不同的环境有不同的作用(有些公司的环境更多,按照自己的交付流程设计),当然不同的环境,配置也不能相同,特别生产数据是隔离的。那asp.net core怎么来对应呢?
      asp.net core为了支持不同的环境,可以把配置文件分为设置成appsettings.json,appsettings.Staging.json,appsettings.QA.json,appsettings.Development.json,配置文件中,可以放不同的配置项。

      常见的不同环境配置项:

      1、数据库链接字符串

      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"
      想要更快更方便的了解相关知识,可以关注微信公众号 
     

     

  • 相关阅读:
    毒丸模式【其他模式】
    对象池模式【其他模式】
    双重校验锁模式【其他模式】
    回调模式【其他模式】
    命令模式【行为模式】
    备忘录模式【行为模式】
    Linux
    Cassandra Package installation directories
    cqlsh script
    Spring boot cassandra
  • 原文地址:https://www.cnblogs.com/axzxs2001/p/15858313.html
Copyright © 2020-2023  润新知