将.Net Core应用程序部署到AWS Beanstalk

时间:2017-05-11 08:27:56

标签: amazon-web-services .net-core amazon-elastic-beanstalk

在我的.net核心1.1应用程序中,我有不同的配置,这些配置是用appsettings.json文件编写的:appsettings.dev.json,appsettings.production.json,appsettings.test.json。

对于每个配置,我在AWS Beanstalk中有不同的环境。现在我正在通过上传zip文件部署到Beanstalk,该文件包含已编译的.net核心代码和AWS清单。 默认情况下.net核心使用生产配置。我试图以几种方式覆盖它:

  • dotnet publish --configuration Test
  • 在Beanstalk软件配置中添加了环境变量ASPNETCORE_ENVIRONMENT测试
  • 添加了web.config,其中指定了ASPNETCORE_ENVIRONMENT环境变量

它不起作用。我找到工作的唯一方法是.UseEnvironment(“测试”):

    public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
            .UseSetting("detailedErrors", "true")
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            // TODO: fix me! It's used for AWS deployment
            .UseEnvironment("Test")
            .Build();

        host.Run();
    }

这意味着在部署之前我需要更改硬编码配置,这不是一个好的解决方案。

有谁知道如何处理AWS Beanstalk中的不同配置?

0 个答案:

没有答案