Azure 中插槽上的应用程序设置

Posted

技术标签:

【中文标题】Azure 中插槽上的应用程序设置【英文标题】:Application setting on slot in Azure 【发布时间】:2019-02-14 09:16:38 【问题描述】:

当我通过 VSTS 中的管道使用 .net core 2.1 运行我的 SPA 应用程序时,应用程序设置“WEBSITE_RUN_FROM_PACKAGE”设置在插槽上,而不是 Web 应用程序上。

这会阻止我们从 Visual Studio 发布,但如果我们删除我们可以部署的设置。 vsts 中的 CI/CD 中是否有设置可以防止在通过管道部署应用程序时在插槽上设置此设置?

谢谢!

【问题讨论】:

除非我弄错了,这是 Azure Functions 的设置。您能否详细说明如何此设置阻止您从 Visual Studio 进行部署?如果您有 CI/CD 管道为您处理部署,为什么要直接从 VS 进行部署? 这个设置基本上意味着slot上的文件系统是只读的,因此我无法通过visual studio发布或建立FTP连接并替换文件。唯一的方法是通过管道推送新代码,这很耗时。我想要通过管道推送代码的选项,但也能够替换 Web 服务器上的文件。此设置仅在插槽上设置,而不在 Web 应用上设置,但它们在 Azure 的 CI/CD 中具有相同的设置。 是否有设置或命令可以让我在 VSTS 管道发布后删除此设置? 【参考方案1】:

这可以通过将发布方式从“Run From Package”切换到“Web Deploy”来解决。

在您的部署 Azure 应用服务阶段下,有一个标题“其他部署选项”,在此标题下:

勾选选择部署方式

部署方法选择“Web Deploy”

这将不再将标志添加到您的配置中。

【讨论】:

以上是关于Azure 中插槽上的应用程序设置的主要内容,如果未能解决你的问题,请参考以下文章

Azure 部署槽 - 交换和保留连接字符串

Azure 应用服务插槽配置并在交换期间重新启动

Azure 网站 - 识别主机插槽

禁用Azure Web Apps中的一个插槽的交换

静态托管 - Azure Azure CDN上的Azure Blob存储上的ReactJS应用程序

在 Azure DevOps 管道中为 WebApp 创建部署槽