Azure App Service 如何在第一时间用上最新版 .NET Core

2020-06-15 14:32:51 浏览数 (1)

导语

微软会经常对 .NET Core 发布更新,通常为安全补丁。这不,今天早上,.NET Core 3.1.5 更新发布了。然而 Azure App Service 自身的 .NET Core runtime 并不会在第一时间更新,每次都要等几周后微软才会推送。对于安全要求较高的应用来说,迫切需要在第一时间完成更新,怎么办呢?

案例

今天我分享一个小技巧,能够让 Azure App Service 在 .NET Core 更新发布的几小时内就用上最新版runtime,而不用干等微软的部署。例子依然是我的博客网站,在更新前,runtime 版本为 3.1.4

而微软刚刚发布了 3.1.5 的安全补丁,修了些 DDOS 漏洞。

尽管我们可以想通过 SCD 方式针对3.1.5重新编译和部署应用,但这样做成本太高了,我们需要一个不996的办法。

插件在手,说走就走

其实,微软每次发布 .NET Core 补丁的时候,都会偷偷向 Azure App Service 的 Extension Marketplace 里也发一份。在 Extensions 里安装的 runtime 会覆盖 App Service 默认自带的 runtime,这样我们就能用上新版 .NET Core 了。

只需要在你的网站菜单里进入 Extensions。如果发现已经存在 .NET Core runtime,则点击进入,选择 Update。如果没有安装过 .NET Core runtime,则点击 Add,可以找到并安装最新版本。

选择对应你网站的runtime,如果不确定,可以把 X86 和 X64 全装了。安装完成后就能在 Extensions 列表里看见最新版本号。

然后一定切记要重启网站,即可用上最新版 .NET Core

说走就走,那么容易?

很可惜,根据多年被坑经验,这样的理想情况很少发生。从 Extensions 中更新或安装 .NET Core runtime 通常会失败。

通常情况是:

  1. 安装显示成功,但刷新页面后插件列表里并没有显示该版本的.NET Core runtime,或者直接消失了(真·说走就走)
  2. 安装到一半,暴毙而亡:

遇到这两种情况的话,解决办法也非常简单粗暴,隔2分钟,重试安装,基本上装个4、5次,就能成功。

0 人点赞