typescript - 部署期间: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"
}
解决方案
是的,所以这是az bot publish
命令的一个已知问题。不幸的是,它执行了一些专有的部署步骤,使其行为与 Azure 上的典型 Web 应用程序部署不同。具体来说,当您收到错误时,它正在npm install
通过 Kudu 执行命令,并且该命令完成所需的时间太长,因此,它会超时导致500
错误。团队意识到了这一点,并将努力改善体验。
目前,我的建议是设置和使用本地 git deploy 方法。这是最简单的方法,不需要其他服务即可运行。如果您的项目已经在 Azure DevOps/GitHub/GitLab/BitBucket/etc 中的远程 git 存储库中启动,您可能需要考虑使用持续部署支持来代替,这将为您团队中的所有贡献者点亮 CD。这些方法中的任何一种都将触发Web 应用程序的“标准”Kudu 部署过程,如果您需要进一步自定义,可以在此处阅读所有相关信息。
推荐阅读
- android - 保护视图(免受所有无障碍服务、间谍软件和类似软件的影响)
- react-native - 无法读取 react-native >0.59 中的文件内容
- binary - 如何绘制多元二进制数据
- python - 什么缺少这个正则表达式来匹配 apache 日志的行?
- oracle - ORA-01031: 运行脚本时权限不足 (oracle 19c)
- docker - Docker-Compose - 将应用程序从 Bitbucket 推送到 ECR
- html - 如何在 Ember 的选定字段中显示网站上的路线内容
- python - Python 模块 mysql-connector 没有看到新的变化
- csv - 是否可以使用列填充查看 csv 和 tsv 文件以使列很好地对齐?
- c# - 如何更新我的数据库而不必在每次将数据保存到它时擦除它