使用GitLab CI时如何解决“达到文件查看器数量的系统限制”的问题?

时间:2019-10-01 16:48:32

标签: reactjs docker react-native gitlab-ci-runner watchman

我在使用Gitlab CI构建React-Native应用程序时遇到问题。 我的构建总是因错误而失败:

    ENOSPC: System limit for number of file watchers reached, watch ~

我尝试过的事情:

  • 使用命令...增加'fs.inotify.max_user_watches'的值...

     echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
    

... gitlab-ci.yml文件中。此解决方案适用于我的私人gitlab.com帐户,但不幸的是,由公司自行托管时出现错误:

     sysctl: permission denied on key 'fs.inotify.max_user_watches'

(无论我使用shell还是docker executor)。

  • 使用命令关闭监视程序(也在gitlab-ci.yml中):

     watchman watch-del-all && watchman shutdown-server
    

...但是错误仍然出现。

  • 使用预先配置的值构建docker映像,但这是不可能的。

我的问题是:

  • 还有其他方法可以解决此问题,而无需管理员更改转轮上的此值?

  • 如果“监视”文件在更改时需要监视员,那么为什么还要将其用于构建apk?也许有某种方法可以不使用Watchman进行APK构建?

0 个答案:

没有答案