首页 > 解决方案 > 天蓝色 DevOps 管道打开的文件太多

问题描述

使用 azure-dev 将节点 js 应用程序开发为应用程序服务时出现以下错误

  ##[error]Error: EMFILE: too many open files, open 'C:\agent\_work\_temp\temp_web_package_05489241004778522\node_modules\tar-fs\test\fixtures\d\file1'

我正在使用 Windows 托管代理进行部署

请找到任务 YAML 文件

steps:
- task: AzureRmWebAppDeployment@3   displayName: 'Azure App Service Deploy: <>'   inputs:
    azureSubscription: <> 
    appType: api
    WebAppName: 'DEV-BIZ-API'
    DeployToSlotFlag: true
    ResourceGroupName: '<>'
    SlotName: temp
    GenerateWebConfig: true
    WebConfigParameters: '-Handler iisnode -NodeStartFile app.js -appType node'
    AppSettings: '-NODE_ENV dev'
    ConfigurationSettings: '-NODE_ENV dev'
    TakeAppOfflineFlag: true
    UseWebDeploy: true
    RenameFilesFlag: true

标签: node.jsazureazure-devopsazure-web-app-service

解决方案


天蓝色 DevOps 管道打开的文件太多

Github 上有一个关于此的已知问题。

对于 Windows,此问题已通过2.117.1代理版本解决。

如果您的代理版本高于2.117.1,但仍然存在此问题,您可以尝试解决方法:

  • 提供提取的包路径作为应用服务部署任务的输入
  • 使用部署后脚本功能安装应用程序依赖项。

在此处输入图像描述

注意:您也可以在 github 上的线程上添加您的详细信息,并在那里查看反馈。

希望这可以帮助。


推荐阅读