版本中的错误 'EMFILE: too many open files, open' VSTS

Error 'EMFILE: too many open files, open' VSTS in Release

我正在尝试使用 Azure 的持续交付将 Angular 5 个示例 Heros 应用程序部署到 Azure,它在发布时失败并出现以下错误:

2018-01-14T13:22:41.8301597Z ##[section]Starting: Deploy Azure App Service
2018-01-14T13:22:41.8501466Z ==============================================================================
2018-01-14T13:22:41.8501809Z Task         : Azure App Service Deploy
2018-01-14T13:22:41.8502244Z Description  : Update Azure WebApp Services On Windows, Web App On Linux with built-in images or docker containers, ASP.NET, .NET Core, PHP, Python or Node based Web applications, Function Apps, Mobile Apps, Api applications, Web Jobs using Web Deploy / Kudu REST APIs
2018-01-14T13:22:41.8502677Z Version      : 3.3.32
2018-01-14T13:22:41.8502922Z Author       : Microsoft Corporation
2018-01-14T13:22:41.8503185Z Help         : [More Information](https://aka.ms/azurermwebdeployreadme)
2018-01-14T13:22:41.8504109Z ==============================================================================
2018-01-14T13:22:46.1519999Z Got connection details for Azure App Service:'herotest'
2018-01-14T13:23:27.5420784Z ##[error]Error: EMFILE: too many open files, open 'd:\a\r1\a\temp_web_package_029438318867875735\node_modules\webdriver-js-extender\built\spec\command_tests\normal_spec.d.ts'
2018-01-14T13:23:33.6581680Z Successfully updated deployment History at https://herotest.scm.azurewebsites.net/api/deployments/11515936207535
2018-01-14T13:23:35.9365916Z ##[section]Finishing: Deploy Azure App Service

我尝试部署的代码是 https://github.com/dragsdale75/hero

我之前按照本教程部署了基本应用程序,但它更简单。 https://passos.com.au/build-and-deploy-an-angular-app-from-github-to-azure-website/

对 Angular Heros 应用所做的更改,包括添加 kuduscript、修改脚本和添加 2 个依赖项。

由于构建成功,我不认为这是一个 Angular 问题。但是,英雄应用示例不在最新版本的 CLI 中。

我不知道还有哪些其他信息会有所帮助,这是 VSTS 版本中的唯一步骤。它由 Azure CI 工具组装而成。

我假设您在 Azure 中使用 Node.js Web 应用程序框架和 None 任务运行器配置了持续交付,构建任务是:1. Npm 安装 2. 存档文件 3. 复制文件 4 . 发布构建工件。

对于这些任务,它不会构建应用程序并且您将所有源代码文件上传到应用程序服务,这不适用于您的方案。

要解决这个问题,您可以添加 npm 任务(第 2 步)来构建您的应用程序,并将输出文件发布到 Artifact(第 3 步:更改文件夹路径)并上传到应用程序服务:

  1. npm 安装任务
  2. Npm 任务(命令:custom;带有 package.json 的工作文件夹:$(System.DefaultWorkingDirectory);命令和参数:run build
  3. 存档文件(要存档的根文件夹:$(System.DefaultWorkingDirectory)/dist
  4. 复制文件
  5. 发布构建工件