Sometimes on Ubuntu creating a Rails application for my chapel. We make use of a located VPS also on Ubuntu. I personally use Capistrano to deploy periodic updates. Inevitably, however, an application that creates my local box, has a number of problems after implementing towards the host, probably since the conditions differ.

What exactly are some practices/processes to ease deployment to ensure that what's examined and works in your area is equally as prone to focus on the host. (I've already adopted the "vendor everything" approach.)

My first thought would be to develop/work inside a local VPS image that itself will ultimately be used (an online appliance of sorts). Is anybody carrying this out?

Exactly what do others caused by minimize problems that derive from environment variations? What hosts supply the best deployment options?

Try establishing an stage atmosphere that will mimic probably the most you are able to your production one. I actually apply certain of my servers because this, developing a subdomain (staged.mydomain.com) to check wheter the gems an about the right version and alike.

I additionally make use of a READ-ONLY user to check with live and real data about this stage installation.

This method allow us to to be certain the new deployment works all right, fixing issues in advance.

It might be nice to be aware what type of issues you cope with frequently to try and discover a way of reducing the look of them.

So far as possible make certain you are running the identical version of Ruby, the identical version of Rails, the identical database setup, and also the identical anything else. The greater variations involving the live setup as well as your development setup, the greater problems you are prone to encounter.

You really clarified your personal question.

If you cannot deploy on the staging atmosphere about the production box you should attempt and mirror that exactly for your computer. After that you can test drive it via programs as VMWare etc.

In my opinion this really is only necessary for really critical situations. In case your Ruby/Rails (jewel versions you are able to specify inside your atmosphere) are identical you should not be getting any problems implementing a Rails application.

Indeed it might be nice to be aware what type of issues you're experiencing therefore we can hopefully supply you with a more sufficient solution.

Bear in mind that many Rails designers run OS X and deploy to some UNIX server and that we not have any kinds of problems because of this.

Versions of raby, rails, mysql, etc.. ought to be the same obviously.