Capistrano 3资产:预编译需要数小时。 停在css文件

就像它说的那样,我无法让capistrano 3做assets:precompile正确assets:precompile 。 即使在数小时后,它仍然会写入服务器上的.css文件。

更新:

我在玩,我尝试了m1.medium。 同样的事情发生在某个点上它只是停止了预编译。 不抛出错误,光标只是闪烁。

它看起来仍然有效,因为它只是说:

我,[2013-12-31T01:18:45.210416#31413]信息 – :写作/var/www/app/releases/20131231011622/public/assets/application-998b176a776d6aff56fce8af9ca0d861.css

当我从任何实例查看cpu用法时它看起来像这样:

在此处输入图像描述

看起来这个过程已经完成,但事实并非如此。 我从零开始创建了一个假应用程序,它使用相同的capistrano设置完美上传。 我正在使用ckeditor,bootstrap-sass和自定义引擎,如果这有所作为。

如果我需要显示任何其他文件,我很乐意在这里添加它们。

谢谢

更新2我让它在m1.medium实例上工作,但它仍然在m1.small或t1.micro实例上失败。 所以我认为它与ssh有关。

我有一个类似的问题,Capistrano 3冻结了资产:预编译。

对我来说,事实certificate这是一个SSH问题,因为在生产中预编译资产需要更长的时间! 特别是如果服务器内存和CPU规格不是太高。

虽然我与生产服务器的连接速度非常快且可靠,但似乎我的SSH客户端在一段时间后放弃了从SSHD服务器读取输出。

修复

在生产服务器上的/etc/ssh/sshd_config添加以下内容以保持与SSH客户端的连接:

 ClientAliveInterval 30 ClientAliveCountMax 10 

这解决了这个问题,现在Capistrano 3完成部署没有任何问题。

  1. 这是一个Windows实例吗? 默认情况下,Windows实例使用IE6 Javascript / CSS引擎,该引擎具有PATHETICALLY SLOW并准确反映您所面临的问题。

  2. 如果是Linux实例,请尝试在therubyracer添加uglifiertherubyracer gems,并确保安装Firefox / libv8