azure网站上的kudu部署非常缓慢

o2gm4chl  于 2021-06-20  发布在  Kudu
关注(0)|答案(1)|浏览(358)

我有一个定制的 deploy.cmd 我用于部署azure网站的文件。它做一些定制的事情,比如安装nodejs版本的typescript和minifier,然后在构建和部署网站之前运行单元测试。
我遇到的问题是,运行这个脚本似乎需要越来越长的时间,至少在azure上是这样。在我的dev笔记本电脑上,运行 deploy.cmd 脚本。但是当我把它推到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。
关于如何加快这一进程还有其他建议吗?或者这基本上只是预期?

mftmpeh8

mftmpeh81#

我怀疑在提到nodejs时,有很多npm包作为构建的一部分被下载。在您的本地计算机上,这些文件已经存在,但是kudu每次都会将它们还原到一个干净的文件夹中。
其次,大约5分钟的构建时间花在构建(可能是运行)测试项目上。除非是有意的,而且在部署工作流中是必需的,否则我建议通过一个标志关闭它。

相关问题