简短:如何在Visual Studio中创建部署插槽与生产插槽的发布配置文件?
很长时间 当您收到Sev1电话时,表示生产已被破坏且您知道在您刚刚向集成部署插槽启动部署之前的几分钟。是的,发生在我身上的事情和我的生活,我都无法解释。
因此,我们为Azure Function应用程序命名了一个名为“Int”的部署插槽。在创建发布配置文件时,我只是使用Visual Studio中的“创建新配置文件”向导并选择“选择现有”Azure应用服务,然后在“Int”部署插槽中钻取。看起来非常直截了当。这样做会导致部署Int AND 生产。这当然是意料之外的,显然是灾难性的。
在我在Azure功能应用程序的“概述”部分找到的Portal中进行了一些挖掘后,会出现“下载发布配置文件”按钮。单击它以生成以及为INT生成两个具有不同用户的单独文件,destinationAppUrls等。两者之间唯一相同的是FTP publishUrl但我假设服务器将基于此路由到相应的根。证书传入。
尽管我有两个独特的发布配置文件,一个用于prod,另一个用于int,但部署其中任何一个都会更新生产和部署插槽。
以下列出了我自己试图解决这些问题但无济于事的事项:
除了失去我甚至没有丢失的自动交换功能外,我想解决这个问题的一种方法是创建一个完全独立的应用程序,从而迫使它正常工作。如果可能,我真的想避免这种情况。
在此提前感谢您的帮助。
答案 0 :(得分:2)
这不应该发生,但如果我不得不猜测,那么两个应用中定义的WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
和WEBSITE_CONTENTSHARE
必须具有相同的值。前者是存储应用程序内容的存储帐户,后者是该存储帐户中的共享名称。两者共享同一个WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
很好,但如果你也分享同一个WEBSITE_CONTENTSHARE
,那么你最终会得到你所看到的奇怪行为。
通常,当您通过工具创建功能应用时,它应为每个应用创建一个随机名称的新共享。如果使用ARM模板或其他方法进行部署,并将它们设置为相同,那么您将遇到该行为。