2012-05-09 48 views
4

在heroku上部署时,即使rake资产:预编译失败,heroku仍会继续部署。为什么Heroku继续部署即使rake资产:预编译失败?

为什么它是默认行为?有没有办法阻止heroku部署版本,如果耙资产:预编译失败?谢谢。

-----> Writing config/database.yml to read from DATABASE_URL 
    -----> Preparing app for Rails asset pipeline 
      Running: rake assets:precompile 
      rake aborted! 
      The line was indented 2 levels deeper than the previous line. 
      (in /tmp/build_3tgkcip2wq2qv/app/assets/stylesheets/master.css.sass) 

      Tasks: TOP => assets:precompile:primary 
      (See full trace by running task with --trace) 
      Precompiling assets failed, enabling runtime asset compilation 
      Injecting rails31_enable_runtime_asset_compilation 
      Please see this article for troubleshooting help: 
      http://devcenter.heroku.com/articles/rails31_heroku_cedar#troubleshooting 
    -----> Rails plugin injection 
      Injecting rails_log_stdout 
      Injecting rails3_serve_static_assets 
    -----> Discovering process types 
      Procfile declares types  -> (none) 
      Default types for Ruby/Rails -> console, rake, web, worker 
    -----> Compiled slug size is 52.9MB 
    -----> Launching... done, v163 
+0

你有没有找到一种方法来实现这一目标?或者一种禁用运行时资产编译的方法,至少你会注意到它?或者其他方式来自动检测资产编译失败? –

+0

对此的任何文字或解决方法? – Kamilski81

回答

1

因为即使资产编译失败,应用程序也能够处理不涉及资产f.x的请求。提供REST XML或JSON请求。

+2

这不是一个好的理由。它正在部署一个潜在的(可能)破坏的应用程序。它至少应该是部署失败的一个选项。实际上,能够使用某些API来完成此操作会很好,以便其他部署任务(以及其他构建包)可能会触发部署失败并阻止部署。 –

相关问题