Tha*_*ole 3 azure visual-studio azure-deployment-slots azure-functions
简而言之:如何在 Visual Studio 中创建部署部署槽与生产槽的发布配置文件?
Long: 当您接到 Sev1 电话,说生产已中断时,您就知道在您刚刚启动集成部署槽的部署之前几分钟。是的,这就是发生在我身上的事情,我一生都无法解释它。
因此,我们为 Azure Function 应用程序提供了一个名为“Int”的部署槽。创建发布配置文件时,我只需使用 Visual Studio 中的“创建新配置文件”向导并选择“选择现有”Azure 应用服务,然后深入“Int”部署槽。看起来很简单。这样做的话会导致 Int和Production 都被部署。这当然是出乎意料的,而且显然是灾难性的。
在门户中进行一些挖掘后,我发现我们的 Azure Function 应用程序的“概述”部分中有一个“下载发布配置文件”按钮。单击它用于 Production 以及 INT 会生成两个具有不同用户、destinationAppUrls 等的单独文件。两者之间唯一相同的是 FTPpublishUrl,但我假设服务器将根据凭证已传入。
事实上,尽管我有两个独特的发布配置文件,一个用于 prod,一个用于 int,部署其中任何一个都会更新生产和我们的部署槽。
以下是我自己尝试修复此问题但无济于事的问题列表:
除了失去我什至没有失去的自动交换功能之外,我想解决这个问题的一种方法是创建一个完全独立的应用程序,从而迫使它正常工作。如果可能的话,我真的想避免这种情况。
在此先感谢您的帮助。
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
这种情况不应该发生,但如果我不得不猜测,两个应用程序中的值和定义必须相同WEBSITE_CONTENTSHARE
。前者是将保存应用内容的存储帐户,后者是该存储帐户中的共享名称。两者共享相同的内容很好WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
,但如果您也共享相同的内容WEBSITE_CONTENTSHARE
,那么您最终会看到所看到的奇怪行为。
通常,当您通过工具创建函数应用程序时,它应该为每个应用程序创建一个具有随机名称的新共享。如果您使用 ARM 模板或其他方法进行部署并将这两者设置为相同,您将遇到这种行为。
归档时间: |
|
查看次数: |
1374 次 |
最近记录: |