gpt4 book ai didi

.net - 跨环境的 Azure Web 角色配置设置

转载 作者:行者123 更新时间:2023-12-04 02:21:16 24 4
gpt4 key购买 nike

在 Azure 之前发布:

在使用 Azure 之前,我们只会在不同的环境(测试、暂存和生产等)中放置只读配置文件。在发布期间,所有应用程序文件(无配置文件)都将部署到相关环境中。然后,应用程序文件将读取环境的配置文件以获取连接字符串和其他特定于环境的详细信息。我认为这是一个非常标准的设置?

在 Azure 之后发布:

现在我们正在将 Web 应用程序迁移到 Azure Web 角色。 Web 角色使用 ServiceConfiguration.Cloud.cscfgServiceConfiguration.Local.cscfg 文件。

发布到云服务时,需要知道连接字符串。如果我们想要发布到测试云服务,则需要相应地编辑 ServiceConfiguration.Cloud.cscfg 。如果我们想要发布到 Staging 或 Production 云服务,则需要进一步更改 ServiceConfiguration.Cloud.cscfg

我更愿意在开发人员进行部署时将他们从连接字符串中抽象出来。这可以防止错误地指向不正确的环境(这可能会产生巨大的影响)。如何做到这一点?

我知道这些配置设置可以在 Azure 管理门户中更改,但是将此步骤包含到发布过程中意味着开发人员需要访问管理门户,这不是理想的情况,因为仍有误差余地(加上对管理门户的“开放”访问)。

更新:

我发现您可以通过添加更多(和重命名)来管理您的服务配置文件:

enter image description here

然后通过一起选择正确的云服务(黑色)和正确的服务配置(红色箭头),开发人员将不需要了解配置详细信息:

enter image description here

仍然存在开发人员在部署到云服务时选择错误服务配置的问题(但也许可以将其自动化到脚本中以防止这种情况发生?)

我主要的烦恼是环境类型( azure 箭头)。现在这对我来说没有用了。

最佳答案

您最好的办法是创建多个云部署项目,每个环境一个,以便每个项目都有不同的 ServiceConfiguration。

在我的应用程序中,我有 3 个应用程序项目(1 个 WebRole 和 2 个 Worker Role)

然后,我们有 6 个云部署项目,每个目标环境一个。每个部署项目都包含相同的 Web 角色和辅助角色,但具有不同的 cscfgcsdef 文件。

Solution Organisation

在应用程序级别,app.config 和 web.config 文件通过使用 SlowCheetah 的配置转换进行处理。基本上,每个部署在配置管理器中都有不同的构建配置。因此,我不仅仅是 DebugRelease,而是 DebugQAUat , 测试, SAndbox, 生产

关于.net - 跨环境的 Azure Web 角色配置设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17449389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com