在Azure网站上,Kudu部署速度非常慢。

2 浏览
0 Comments

在Azure网站上,Kudu部署速度非常慢。

我有一个定制的deploy.cmd文件,用于部署我的Azure网站。它会做一些定制化的事情,比如安装Typescript和一个压缩器的nodejs版本,然后运行单元测试,最后构建和部署网站本身。

我遇到的问题是,这个脚本似乎需要越来越长的时间才能运行,至少在Azure上是这样。在我的开发笔记本上,运行deploy.cmd脚本需要大约90秒。但是在Azure上推送时,需要大约15-20分钟甚至更长时间(有时超过30-40分钟)。我不觉得在Web服务器上执行需要更长时间,但它需要的时间比我想象的多10倍以上。

以下是最近部署的日志文件的精简版:

Command: deploy.cmd
18:54:16.89 - Starting deploy script
18:54:19.92 - Installing typescript
18:54:30.90 - Installing minifier
18:54:44.62 - Restoring Nuget Packages
18:55:48.25 - Building solution
18:59:09.12 - Building test projects
19:04:03.67 - Running Payboard.Common.Tests.dll
19:04:19.80 - Running Payboard.Model.Tests.dll
19:04:25.25 - Running Payboard.Services.Tests.dll
19:06:29.72 - Running Payboard.Integrations.Tests.dll
19:06:49.46 - Running Payboard.Web.Tests.dll
19:07:56.99 - Beginning KuduSync
19:08:03.16 - Finished successfully.

很显然,其中的两个构建步骤需要大部分时间。我想我可以将它们合并成一个单一的构建步骤 - 虽然我不完全确定这将如何影响KuduSync。

还有其他建议可以加速吗?还是说这基本上是正常的情况?

admin 更改状态以发布 2023年5月24日
0
0 Comments

你是在进行构建还是重建?构建只会在必要时构建;重建会无论如何构建所有内容。

此外,您可能正在部署发布版本而不是在本地编译和部署调试版本,这可能是耗时更长的发布编译优化。(如果是这种情况,请尝试在本地进行发布构建并查看时间是否匹配)

查看您的发布配置文件,如果在启动时执行了“清理解决方案”之类的操作。

0
0 Comments

我怀疑在提到nodejs时,构建过程中会下载一堆npm包。在本地机器上,这些包已经存在,但是Kudu每次都会在干净的文件夹中恢复它们。

其次,大约有5分钟的构建时间被用于构建(可能还运行)测试项目。除非在部署工作流程中有意或必需,否则我建议通过标志关闭这个功能。

0