2017-11-01 16 views
0

AWS Beanstalkの異なる環境にアプリケーションを展開する必要があります。そこで、MSBuildを使用してバンドルを作成し、S3バケットにzipファイルをアップロードし、AWS EBにデプロイすることができます。しかし、環境に応じて、特定のweb.configパラメータを変更したい。たとえば、接続文字列を変更したいとします。 今、私はweb.configのこれらの設定をRDPを使用して手動で変更しているか、変更された設定で新しいパッケージを作成する必要があります。しかし、私は環境間でContinuous Deploymentとプロモーションをしたいので、これらのオプションは機能しません。AWS Elastic BeanstalkでのASP.NETアプリケーションの設定

答えて

1

これを行うには、構成スクリプト(.config)といくつかのaws環境変数を使用できます。

その背後にあるアイデアはかなり簡単です。 awhの設定から関数Fn::GetOptionSettingを使用して環境名を取得します。次に、例えば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 
+0

はありがとうございました! –

関連する問題