首页 > 解决方案 > 部署期间:500 - 安装依赖项时请求超时

问题描述

我正在尝试将我的机器人部署到 Azure。所以我运行了以下命令:

az bot publish --name --proj-name "" --resource-group --code-dir "/path/to/my-app" --verbose --version v4

但它超时(出于安全原因,我删除了我的项目名称和用户名):

为 arg resource_group_name 配置了默认值

检测到的 SDK 版本 v4。在代码目录中运行准备发布

/Users//Documents/GitHub// 和项目文件

准备用于发布的 Bot Builder SDK v4 bot,带有代码目录

/Users//Documents/GitHub// 和项目文件。

检测到机器人语言节点,机器人生成器版本 v4。

创建上传 zip 文件。

创建上传zip文件,代码目录

/用户//文档/GitHub//。

将 node_modules 添加到文件夹以从 zip 文件中排除。

将机器人源压缩到 /Users//Documents/GitHub//upload.zip。

创建的 Zip 文件路径,位于 /Users//Documents/GitHub//upload.zip。

清空 Kudu 上的“site/wwwroot/”文件夹以准备发布。

“site/wwwroot/”成功清空。

源码读取,上传到 Kudu。

源代码上传成功。

检索最新的部署信息。

机器人源已发布。准备机器人应用程序以运行新源。

检测到的语言 javascript。在远程机器人中安装节点依赖项。

然后这是错误:

失败,状态码 500 和原因 500 - 请求超时。

500 - 请求超时。

Web 服务器未能在指定时间内响应。
"dependencies": {
    "botbuilder": "^4.2.0",
    "botbuilder-ai": "^4.2.0",
    "botframework-config": "^4.2.0",
    "dotenv": "^6.1.0",
    "flex-menu": "git+https://yousef-shanawany-flex@dev.azure.com/yousef-shanawany-flex/flex-menu/_git/flex-menu",
    "replace": "^1.0.0",
    "restify": "^7.2.3"
},
"devDependencies": {
    "@types/dotenv": "6.1.0",
    "@types/restify": "7.2.6",
    "nodemon": "^1.18.7",
    "tslint": "^5.11.0",
    "typescript": "^3.1.6"
}

标签: typescriptnpmdeploymentazure-web-app-servicebotframework

解决方案


是的,所以这是az bot publish命令的一个已知问题。不幸的是,它执行了一些专有的部署步骤,使其行为与 Azure 上的典型 Web 应用程序部署不同。具体来说,当您收到错误时,它正在npm install通过 Kudu 执行命令,并且该命令完成所需的时间太长,因此,它会超时导致500错误。团队意识到了这一点,并将努力改善体验。

目前,我的建议是设置和使用本地 git deploy 方法。这是最简单的方法,不需要其他服务即可运行。如果您的项目已经在 Azure DevOps/GitHub/GitLab/BitBucket/etc 中的远程 git 存储库中启动,您可能需要考虑使用持续部署支持来代替,这将为您团队中的所有贡献者点亮 CD。这些方法中的任何一种都将触发Web 应用程序的“标准”Kudu 部署过程,如果您需要进一步自定义,可以在此处阅读所有相关信息。


推荐阅读