Capistrano部署旧资产

时间:2014-02-11 17:15:37

标签: ruby-on-rails capistrano

我在处理capistrano方面相当新,学习继承的项目。

我已经在我的登台服务器上完成了很多部署,并且从未遇到过部署在已编译资产文件中删除CSS或JS更改的问题。

我最近执行了一些主要的UI更新,升级了用于bootstrap,jquery,font awesome等的gems,以及我的应用程序CS和JS文件中的重大更改。当我在我的登台服务器上使用capistrano进行部署时,它会忽略我的所有资产更改,并使用旧版本的资产编译应用程序JS和CSS文件。它确实创建了新文件,它只使用了所有内容的旧副本。我部署时没有看到任何错误,但似乎有些事情出错了。

当然,在开发过程中一切正常,如果我运行资产:在本地预编译,我会获得所有更新的CSS和JS文件。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

解决了这个问题。看起来我的部署文件中存在命名空间冲突(我有一个:rake命名空间来运行某些任务),而资产:预编译实际上并没有运行。它没有崩溃是非常烦人的,而是无声地失败了。

在:

* executing "cd -- /.../releases/20140211172000 && RAILS_ENV=qa RAILS_GROUPS=assets #<Capistrano::Configuration::Namespaces::Namespace:0x00000001868638> assets:precompile"

修复命名空间冲突后:

* executing "cd -- /.../releases/20140211173407 && RAILS_ENV=qa RAILS_GROUPS=assets bundle exec rake assets:precompile"