
Deploying a Rails 3.1 app in production  - vijaydev
https://moocode.com/posts/1-deploying-a-rails-3-1-application-to-production
======
firemanx
I found this really helpful. I'm a little surprised at the inconsistency of
the asset pipeline deployment though. I guess we're all supposed to use erb
templates if we intend to use it and include images in our stylesheets?

It strikes me as really strange that they would allow certain functionality
which you would get used to in development (images in stylesheets that are
automatically matched to assets), then have that completely break when you
precompile for production.

------
bguthrie
Correct me if I'm wrong, but can't you avoid compiling in production if you
package everything as part of your CI build? Rather than deploy off of a git
clone, you compile at the end of CI, vendorize your gems, generate a tarball,
and push that up.

This minimizes production dependencies (including the need to compile gems
live) as long as your CI environment sufficiently resembles prod.

~~~
moomerman
That could be one solution, however there are some problems that spring to
mind like deploying to different architectures (common if you're using EC2) -
I guess this fits your point about your CI env resembling prod.

------
jarin
I couldn't post this in the Facebook comments on the post, but you can fix the
Rake 0.9.0 error by putting the following right before load_tasks in your
Rakefile:

    
    
        module ::MyAppName
          class Application
            include Rake::DSL
          end
        end
    
        module ::RakeFileUtils
          extend Rake::FileUtilsExt
        end
    

There's a fix on the way, too.

Also, I believe if you're using SASS/SCSS you can interpolate the asset like
so, without having to use erb:

    
    
        background: #00ff00 url(#{asset_path 'rails.png'}) no-repeat fixed center;

~~~
moomerman
Thanks for the info, I'll update the post shortly. Out of interest, what was
wrong with the FB comments? I only started using it yesterday because disqus
doesn't have a HTTPS option (that I could find anyway).

~~~
jarin
Oh, it seems to trip out on double colons. If I wasn't being lazy I would have
just posted a gist.

------
asolove
It would be fantastic if someone would release a capistrano/rails plugin that
lets you specify when to build the assets and where to send them, for those of
us who have static assets on different servers from production Rails apps.

~~~
smiler
Why can't someone = you?

