Azure Cloud Service部署而不更改现有配置

Uri*_*son 5 c# azure azure-web-roles

是否可以在不更改现有配置的情况下部署Cloud Service?

我想要做的是将Cloud Service包部署到Dev Cloud Service,然后使用相同的包并将其上载到Production Cloud Service.

有任何想法吗?

Mik*_*eWo 0

如果我正确理解这个问题,是的,这是可能的。您希望在两个环境之间有所不同的所有配置设置(例如连接字符串、应用程序设置等)应在服务定义文件中定义并在服务配置文件中设置。当 Visual Studio 上传包时,它会分别上传包和服务配置文件(服务定义位于包内)。当您从命令行或门户进行更新或部署时,您还需要单独提供包和服务配置文件。这允许您推送相同的包,但提供不同的配置。如果部署之间没有任何差异(我认为这种情况很少见),那么您只需部署相同的包和配置文件即可。

如果您正在对生产系统执行更新,并且不想“覆盖”生产中已有的配置,则只需上传之前上传的相同文件即可。这就是为什么随着时间的推移跟踪所有部署非常重要,以用于回滚目的或类似的情况(您想要推送与以前相同的配置)。

MSDN 文档介绍了如何从门户上传,其中包括单独选择配置文件:https ://www.windowsazure.com/en-us/manage/services/cloud-services/how-to-create-and-deploy -a-cloud-service/#deploy。您可能还想考虑通过命令行工具(如 powerShell 或其他 Windows Azure CLI 工具)来执行此操作。

请注意,如果 Web 角色的 web.config 或 app.config 中的设置必须在每个环境中有所不同,则您需要研究一种方法,将这些设置移至服务配置中或在运行时拉取它们根据环境的特定位置。