首页 > 解决方案 > Azure App Service Web App Deploy from VScode“中央目录末尾预期的条目数不...”

问题描述

尝试通过 VScode Azure App Service 扩展将 Node 应用程序部署到 Azure 时,我经常遇到以下错误。我不确定它对我的项目有什么不满意。我环顾四周,看到了与问题相关的问题,将其破解为我正在使用 Windows 机器并部署到 Linux,这就是它不喜欢 zip 文件的原因?在过去,我只是通过在 Azure 上创建一个新的 webapp 来部署它来避免这个问题,但是我永远不能两次部署到同一个 Webapp 服务。

10:00:21 AM CardGameServer: Starting deployment...

10:00:21 AM CardGameServer: Creating zip package...

10:02:03 AM CardGameServer: Zip package size: 20.1 kB

10:02:03 AM CardGameServer: Fetching changes.

10:02:04 AM CardGameServer: Cleaning up temp folders from previous zip deployments and extracting pushed zip file /tmp/zipdeploy/981fc9e6-5778-4a2c-9145-02463df858a7.zip (0.02 MB) to /tmp/zipdeploy/extracted

10:02:04 AM CardGameServer: Number of entries expected in End Of Central Directory does not correspond to number of entries in Central Directory.
10:02:10 AM CardGameServer: Deployment failed.

此外,“创建 zip 包...”步骤大约需要 4 分钟。该应用程序为 20kb(如控制台输出所示)。为什么这需要这么长时间?有时它甚至超时。它会将我的整个工作区推到天蓝色并在那里压缩吗?如果我没有 node_modules 的忽略模式,我会在输出控制台中得到一个大小为 182mb 的 zip,并且部署所需的时间与忽略 node_modules 时一样长。(我通过.deployment带有 `"SCM_DO_BUILD_DURING_DEPLOYMENT 的文件运行 npm install =true" 所以我忽略了 node_modules 文件夹)。无论我是否指定了 ZipIgnorePatterns,或者仅使用“默认”忽略模式,都会发生文件计数不匹配错误"node_modules{,/**}", ".vscode{,/**}"

我以为我在 Microsoft 文档的某个地方读到了(试图追踪该页面 - 它是页面上突出显示的警告框),Web 应用程序发布扩展因应用程序而失败,这些应用程序是具有大量提交的存储库的一部分。

我的工作区: 工作区

部署设置: 在此处输入图像描述

标签: azure-web-app-service

解决方案


是的,通过 VS Code 部署将使用 zip 包将整个工作区推送到天蓝色,并在 Azure 上提取而不是压缩它们。

关于Creating zip package...步骤,您的项目似乎出了点问题。实际上压缩整个项目需要一些时间,而且Zip package size不应该那么小。

如我所见,你zipIgnorepattern的太多了。也许您设置忽略的某些文件是必需的。只需将settings.json文件设为默认值,然后再次尝试部署即可。

我有一个简单的节点项目,并通过 VS Code 成功部署: 在此处输入图像描述

这是 Azure kudu 网站上的文件结构: 在此处输入图像描述 我的默认值settings.json在此处输入图像描述


推荐阅读