Atlasian Elastic Bamboo build error: Too many open files error for Angular CLI build
Atlasian Elastic Bamboo build error: Too many open files error for Angular CLI build
当我在 Bamboo 上构建我的 Angular-CLI 项目时,出现以下错误:
Error: EMFILE: too many open files, open '<file...>'
EMFILE: too many open files, open '<file...>'
我是 AWS EC2 linux 实例上的 运行 elastic Bamboo。我查看了 Atlassian's support forum,但他们只给出了解决问题的一般指导方针,而不是如何实际将修复程序添加到使用 AWS EC2 实例的现有 bamboo 设置中。
在您的 Angular CLI 项目中,在 .angular-cli.json
(cli v1.x.x) 或 angular.json
(cli v6.x.x+) 下 assets
您可能添加了一个包含大量文件的文件夹。当 angular cli 构建项目时,文件被复制到构建文件夹,这是错误的主要原因,因为该过程达到了可以在系统级别打开和复制的文件数量的限制。
要解决此问题,您只需在 bamboo 管理菜单中更新您的 AWS EC2 映像配置,以包含支持论坛中描述的修复。
- 以 root/admin 用户身份登录您的 bamboo 网站
- 下一步单击右上角菜单中的齿轮(设置)图标
- 点击
Overview
ELASTIC BAMBOO
下的左侧菜单,单击 Image configurations
- 在配置列表中,找到用于为该特定构建创建 bamboo worker 实例的配置,您可能需要联系您的系统管理员/基础架构人员来解决这个问题,但通常只有它已启用/未变灰。单击该特定配置行的
edit
。
- 向下滚动到
Instance startup script
文本字段
将以下行添加到脚本列表的底部
#increase open file limit
sudo echo "* soft nofile 40000" >> /etc/security/limits.conf
sudo echo "* hard nofile 40000" >> /etc/security/limits.conf
请注意 *
表示任何用户,但为了更具体,您可以将其替换为 Bamboo_USER
点击Save
ELASTIC BAMBOO
下的左侧菜单,单击 Instances
- 右上角区域,单击
Terminate all instances
删除任何使用旧脚本的实例,请确保您在终止时没有构建任何东西,因为构建将被中断并失败。
- 现在您应该可以再次开始构建,问题应该已解决,您可能需要重新启动 bamboo 实例一次才能使脚本生效。
当我在 Bamboo 上构建我的 Angular-CLI 项目时,出现以下错误:
Error: EMFILE: too many open files, open '<file...>'
EMFILE: too many open files, open '<file...>'
我是 AWS EC2 linux 实例上的 运行 elastic Bamboo。我查看了 Atlassian's support forum,但他们只给出了解决问题的一般指导方针,而不是如何实际将修复程序添加到使用 AWS EC2 实例的现有 bamboo 设置中。
在您的 Angular CLI 项目中,在 .angular-cli.json
(cli v1.x.x) 或 angular.json
(cli v6.x.x+) 下 assets
您可能添加了一个包含大量文件的文件夹。当 angular cli 构建项目时,文件被复制到构建文件夹,这是错误的主要原因,因为该过程达到了可以在系统级别打开和复制的文件数量的限制。
要解决此问题,您只需在 bamboo 管理菜单中更新您的 AWS EC2 映像配置,以包含支持论坛中描述的修复。
- 以 root/admin 用户身份登录您的 bamboo 网站
- 下一步单击右上角菜单中的齿轮(设置)图标
- 点击
Overview
ELASTIC BAMBOO
下的左侧菜单,单击Image configurations
- 在配置列表中,找到用于为该特定构建创建 bamboo worker 实例的配置,您可能需要联系您的系统管理员/基础架构人员来解决这个问题,但通常只有它已启用/未变灰。单击该特定配置行的
edit
。 - 向下滚动到
Instance startup script
文本字段 将以下行添加到脚本列表的底部
#increase open file limit sudo echo "* soft nofile 40000" >> /etc/security/limits.conf sudo echo "* hard nofile 40000" >> /etc/security/limits.conf
请注意
*
表示任何用户,但为了更具体,您可以将其替换为Bamboo_USER
点击
Save
ELASTIC BAMBOO
下的左侧菜单,单击Instances
- 右上角区域,单击
Terminate all instances
删除任何使用旧脚本的实例,请确保您在终止时没有构建任何东西,因为构建将被中断并失败。 - 现在您应该可以再次开始构建,问题应该已解决,您可能需要重新启动 bamboo 实例一次才能使脚本生效。