Asp.net 为本地和AWS elastic beanstalk配置不同的Web.config

Asp.net 为本地和AWS elastic beanstalk配置不同的Web.config,asp.net,amazon-web-services,web-config,umbraco,amazon-elastic-beanstalk,Asp.net,Amazon Web Services,Web Config,Umbraco,Amazon Elastic Beanstalk,我正在AWS附近玩来建立一个弹性豆茎,在那里我将运行一个.Net(Umbraco CMS)应用程序。我面临的问题是,该应用程序在Web.config上有秘密和连接字符串。另外,现在,这个配置被添加到repo中,repo被推送到codeCommit,如果一切正常,我想设置管道来部署推送到beanstalk 因此,我想知道创建单独文件的最佳方法,以便在推送本地更改时,不会覆盖aws上的web.config 我想到了一些解决方案,但我不知道如何执行它们: 1) 设置环境变量并以某种方式使用该变量转换w

我正在AWS附近玩来建立一个弹性豆茎,在那里我将运行一个.Net(Umbraco CMS)应用程序。我面临的问题是,该应用程序在Web.config上有秘密和连接字符串。另外,现在,这个配置被添加到repo中,repo被推送到codeCommit,如果一切正常,我想设置管道来部署推送到beanstalk

因此,我想知道创建单独文件的最佳方法,以便在推送本地更改时,不会覆盖aws上的web.config

我想到了一些解决方案,但我不知道如何执行它们:

1) 设置环境变量并以某种方式使用该变量转换web.config值

2) 在服务器中创建单独的文件(不知道如何),并忽略本地web.config。我不知道这是不是一个好的解决办法

3) 创建一些构建过程来转换web.config


也许有更好的办法。请帮忙

这样做的一个好方法是通过一个被锁定的S3存储桶。来自弹性豆茎文档。您将创建一个.ebextensions配置文件,告诉EB在部署时检索您的机密

例如:

Resources:
  AWSEBAutoScalingGroup:
    Metadata:
      AWS::CloudFormation::Authentication:
        S3Auth:
          type: "s3"
          buckets: ["my-secret-bucket-123456789012"]
          roleName: "aws-elasticbeanstalk-ec2-role"

files:
  "/tmp/beanstalk-database.json" :
    mode: "000644"
    owner: root
    group: root
    authentication: "S3Auth"
    source: https://s3-us-west-2.amazonaws.com/my-secret-bucket-123456789012/beanstalk-database.json
有多种语言的指南,介绍如何在EB中构建DB连接