部署期间:500-安装依赖项时请求超时

时间:2019-02-01 19:28:35

标签: typescript npm deployment azure-web-sites botframework

我正试图将我的机器人部署到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"
}

1 个答案:

答案 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,可以在这里阅读全部内容。