【问题标题】:Atlasian Elastic Bamboo build error: Too many open files error for Angular CLI buildAtlassian Elastic Bamboo 构建错误:Angular CLI 构建的打开文件过多错误
【发布时间】:2018-08-12 01:32:50
【问题描述】:

当我在 Bamboo 上构建 Angular-CLI 项目时,出现以下错误:

Error: EMFILE: too many open files, open '<file...>'
EMFILE: too many open files, open '<file...>'

我在 AWS EC2 linux 实例上运行弹性 Bamboo。我查看了Atlassian's support forum,但他们只给出了解决问题的一般指导方针,而不是如何将修复程序实际添加到使用 AWS EC2 实例的现有竹子设置中。

【问题讨论】:

    标签: angular angular-cli bamboo build-error


    【解决方案1】:

    在您的 Angular CLI 项目中,在您的 .angular-cli.json (cli v1.x.x) 或 angular.json (cli v6.x.x+) 下的 assets 下,您可能添加了一个包含大量文件的文件夹。当 Angular cli 构建项目时,文件被复制到 build 文件夹,这是导致错误的主要原因,因为该过程达到了可以在系统级别打开和复制的文件数量的限制。

    要解决此问题,您只需在竹管理菜单中更新您的 AWS EC2 映像配置,以包含支持论坛中描述的修复程序。

    1. 以 root/admin 用户身份登录您的竹子网站
    2. 下一步点击右上角菜单中的齿轮(设置)图标
    3. 点击Overview
    4. ELASTIC BAMBOO下的左侧菜单,点击Image configurations
    5. 在配置列表中,找到用于为特定构建创建竹子工作者实例的配置,您可能需要联系您的系统管理员/基础架构人员来解决这个问题,但它通常是唯一启用的/ 没有变灰。针对该特定配置行单击 edit
    6. 向下滚动到 Instance startup script 文本字段
    7. 将以下行添加到脚本列表的底部

      #increase open file limit
      sudo echo "*           soft    nofile          40000" >> /etc/security/limits.conf
      sudo echo "*           hard    nofile          40000" >> /etc/security/limits.conf
      

      请注意* 表示任何用户,但更具体地说,您可以将其替换为Bamboo_USER

    8. 点击Save

    9. ELASTIC BAMBOO下的左侧菜单,点击Instances
    10. 右上方区域,单击Terminate all instances 删除任何带有旧脚本的实例,请确保在终止时您没有构建任何东西,因为构建将被中断并失败。
    11. 现在您应该能够再次开始构建并且问题应该得到解决,您可能需要重新启动竹实例一次才能使脚本生效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 2018-08-07
      • 2017-11-23
      • 2017-09-22
      • 2017-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多