JSON必须不超过1000000字节

时间:2015-09-10 11:21:27

标签: node.js nginx jenkins chef

我们为客户的网站设置了一个带有QA构建项目的Jenkins-Chef设置。构建从Bitbucket获取代码,脚本将cookbook从Chef Client上传到Chef服务器。

这些版本在很长一段时间内运行良好。两天前,自动和手动构建开始失败,出现以下错误(取自Jenkins控制台输出):

  

更新环境qa

     

上传example-deployment [0.1.314]

     

错误:请求实体太大

     

响应:JSON必须不超过1000000字节。

根据我的理解,JSON文件应该与nodejs相关,这是开发人员在这个网络服务器上使用的。

我们查看了Jenkins,Chef-Server和QA服务器的配置文件。我们无法找到一种方法来更改导致此错误的此1MB限制。

我们尝试更改client_max_body_size,但没有工作。 我们检查了JSON文件的大小,但没有达到此限制。 知道我们在哪里可以找到解决方案吗?这个限制可以改变吗?我们能做什么(基础设施明智)还是应该从开发者那里修复?

1 个答案:

答案 0 :(得分:0)

首先,1M值或多或少是硬编码的,而厨师服务器并不打算存储大型对象。 在上传菜谱之前会发生什么,创建一个带有它的json文件的信息,因为这个文件将存储在DB中并且索引它不应该超过太大的尺寸以避免性能问题。 我们的想法是仅向Chef-server上传绝对必要的内容,剥离CVS目录,任何IDE构建/项目文件等。 实现它的最佳解决方案是使用chefignore文件。它必须在cookbook_path下创建。 这个内容是上传菜谱时要忽略的通配符匹配,所以示例可以是: * / .svn / *#剥离subversion目录 * / .git / *#去掉git目录 *〜#忽略vim备份文件