繁体   English   中英

在AWS Elastic Beanstalk上配置ASP.NET应用程序

[英]Configuring ASP.NET application on AWS Elastic Beanstalk

我需要将应用程序部署到AWS Beanstalk中的不同环境。 因此,我可以使用MSBuild创建捆绑包,将zip文件上传到S3存储桶,然后部署到AWS EB。 但是,我想根据环境更改某些web.config参数。 例如,我想更改连接字符串。 现在,我正在使用RDP手动更改web.config中的这些设置,或者必须使用更改后的配置创建新程序包。 但是我希望在环境之间进行持续部署和升级,因此这些选项不起作用。

为此,您可以使用配置脚本(.config)+一些aws环境变量。

其背后的想法很简单。 您可以使用函数Fn::GetOptionSetting从aws设置中获取环境名称。 然后,您可以使用Powershell编辑文件。

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

我正在使用类似的方法在asp.net核心中设置Windows环境变量。 下面的脚本创建一个PWS脚本并简单地执行它。

我已附上我用作示例的脚本:

files:
   "c:/cfn/set-aspnetcore-environment.ps1":
       content: |
          $envtype = "`{"Fn::GetOptionSetting": {"Namespace": "aws:elasticbeanstalk:application:environment", "OptionName": "AspNetCoreEnv"}}`"
          $envtype | Out-File c:\cfn\set-aspnetcore-environment.txt 
          [Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", $envtype, "Machine")
commands:
    01_writeenv:
       command: powershell.exe -ExecutionPolicy Bypass -File c:\\cfn\\set-aspnetcore-environment.ps1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM