我的公司开发了一个基于 Azure 资源管理器的解决方案,该解决方案部署一组资源(本质上是存储、SQL DB 和 Web 应用程序),并且它已经作为我们为新客户的配置流程实现。
但是,我们现在正在研究执行更新的最佳方法,我们正在考虑的假设之一是拥有一个更新此应用程序的二进制文件的特定模板。
我们的想法是拥有一个单独的模板,其中仅包含 Web 应用程序、应用程序主机和 MSDeploy 资源,该资源获取最新版本的包并将其重新上传到该 Web 应用程序。
我在这个解决方案中看到的唯一问题是能够处理新版本的二进制文件所需的任何配置更改 - 我们不希望用户必须重新输入他们为原始版本放置的任何参数部署(通过“部署到 Azure”按钮完成),因此,任何配置都必须在应用程序内执行 - 计划是使用 Microsoft.WindowsAzure.Management.WebSites 库。
使用 Microsoft.WindowsAzure.Management.WebSites 的主要限制是您只能使用证书或服务主体进行身份验证。理想情况下,我们希望找到一种方法,使更新不需要除您在部署更新时提供的身份验证之外的任何身份验证。
对于这种情况,是否有可遵循的最佳实践建议?
谢谢。
最佳答案
只能通过 ARM 模板进行更新。 例如,即使在创建依赖资源本身时,连接字符串也可以自动添加到应用程序设置中。 前任。帐户存储连接字符串。
只有第一次创建网站会花费更多时间,大约 30 秒。
ARM 不会销毁您的 Web 应用程序(如果它们已经存在)。它只会更新。 如果没有任何变化,那么部署速度非常快。
如果您的更改需要新的 Appsettings 参数,您可以在 ARM 中输入它, checkin 您的存储库。 下一次部署将选择并更新 WebApp。
因此无需任何人登录和更新。
关于azure - 使用 ARM 更新现有 Web 应用程序部署的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41268574/