我正试图将我的机器人部署到Azure。所以我跑以下命令:
az bot发布--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机器人。
/ Users // Documents / GitHub //和项目文件。
检测到的机器人语言节点,Bot Builder版本v4。
创建上传zip文件。
创建上传zip文件,代码目录
/ Users // Documents / GitHub//。
将node_modules添加到文件夹以从zip文件中排除。
压缩中机器人源成 /Users//Documents/GitHub//upload.zip。
创建的压缩文件路径,位于 /Users//Documents/GitHub//upload.zip。
清空“网站/ wwwroot文件/”的文件夹上捻在用于制备 发布。
“ site / wwwroot /”已成功清空。
读取源代码,并上传到Kudu。
源代码成功上传。
获取最新的部署信息。
发布了源码。准备bot应用程序以运行新的源代码。
检测的语言的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"
}
答案 0 :(得分:1)
是的,所以这是az bot publish
命令的已知问题。不幸的是,它执行一些专有的部署步骤,使其行为与Azure上的典型Web应用程序部署有所不同。具体来说,当您遇到错误时,它正在通过Kudu执行npm install
命令,并且该命令完成所需的时间太长,因此超时会导致500
错误。团队意识到了这一点,并将努力改善体验。
目前,我的建议是设置并使用the local git deploy method。这是最简单的方法,不需要其他任何服务。如果您的项目已经在Azure DevOps / GitHub / GitLab / BitBucket / etc中的远程git存储库中启动,则可能要考虑使用the Continuous Deployment support for those来代替,这将为团队中的所有贡献者提供CD。这两种方法都会触发the "standard" Kudu deployment process for web applications,如果您需要进一步customize,可以在这里阅读全部内容。