Go to Google Groups Home    Capistrano
Re: [capistrano] Deployment conflict question

Joe McDonagh <joseph.e.mcdon...@gmail.com>

cswebgrl wrote:
> Hi.

> I tried to deploy new Rails app code to a production server the other
> day and took down the live site in production.  I'd like to avoid this
> in the future.  Something happened in the process that affected the
> live site.  The error log showed that fastthread was not found.  I had
> to go into the fastthread gem and run setup.rb.  Then it told me that
> Rails was not installed so I had to do a gem install Rails.  Then
> there were other gems that were needed by the application and not
> found so I had to reinstall those too.

> I have my own staging server that this all worked on, but the staging
> server is able to serve multiple sites so it is not an exact replicate
> of the client's production box.  The Apache setup is such that only
> one site can be served from this machine - the document root in Apache
> is /project/public.

> I've got a couple of questions. 1- Any idea why gems would need to be
> reinstalled?  2- Can I deploy Capistrano without restarting Passenger
> to put the code onto the production server and then once it's all
> there, change the document root in Apache then do a deploy with the
> Passenger restart?

> Thanks,
> Cindy

Hi Cindy, did the client mix and match operating system-native packages
and rubygems? That can cause problems, and it wouldn't surprise me if it
caused this one.

I'm still kind of a noob with cap, so I'm not sure about question 2...

 Have you thought about using virtualization to create real staging
environments for your clients? It's a pretty fundamental flaw if your
staging environment is not an exact replica of the production
environment (save the staged code).

--
Joe McDonagh
Operations Engineer
www.colonfail.com