RoR deployment and maintenance


#1

Hi,
I have a developed and working RoR prototype. So far its been
mostly in development mode environment and under script/server on
windows .I want to move it to a hosting server and continue
development.

Whats the best option? - How good is Ubuntu 7? I tried that first as I
have experience on that.I have been able to configure and get my app
running but looking for tips on maintaining the setup and continuing
development.

Also what are the best practices for deployment…I just find myself
doing development on my box and manually ftp-ing the changed
files.Ideally I want to set up some kind of script / source control
where if i can check in stuff to my hosting server (except for config
details ) after changes are done and I am done testing…

Is there some source that can help me out

vk.


#2

Ubuntu is fine, but the most important for you is to choose a distro
you are comfortable with.

An example of good pratices is to use capistrano for deployment:
http://www.capify.org/
You can use apache and mod_passenger: http://www.modrails.com/ to run
you apps on your server


#3

Aurélien Bottazini wrote:

Ubuntu is fine, but the most important for you is to choose a distro
you are comfortable with.

An example of good pratices is to use capistrano for deployment:
http://www.capify.org/
You can use apache and mod_passenger: http://www.modrails.com/ to run
you apps on your server

An even better practice is to kick capistrano out, use a good scm such
as Mercurial, and roll your own deployment script.

I’ll have to give mod_rails a try one day, but I am still sure that
Nginx+Thin is the best setup.


#4

If you have a relatively simple site, you can use rsync with exluded
files/directories for production deployment from your build environment.

We use Ubuntu 8.04 and run RoR with nginx and thin. They work quite
well.

Thin has smaller footprint. We used to run mongrel_cluster with apache2,
that works too.

cheers,

rp8
Krishna wrote:

Hi,
I have a developed and working RoR prototype. So far its been
mostly in development mode environment and under script/server on
windows .I want to move it to a hosting server and continue
development.

Whats the best option? - How good is Ubuntu 7? I tried that first as I
have experience on that.I have been able to configure and get my app
running but looking for tips on maintaining the setup and continuing
development.

Also what are the best practices for deployment…I just find myself
doing development on my box and manually ftp-ing the changed
files.Ideally I want to set up some kind of script / source control
where if i can check in stuff to my hosting server (except for config
details ) after changes are done and I am done testing…

Is there some source that can help me out

vk.


#5

On Dec 18, 7:19 am, Fernando P. removed_email_address@domain.invalid
wrote:
[…]

An even better practice is to kick capistrano out, use a good scm such
as Mercurial, and roll your own deployment script.

Why is that an “even better practice”? I find Capistrano extremely
useful, even with Git (surely a “good scm”). I have indeed rolled my
own deployment script – in Capistrano. I don’t see that a source-
control system has anything directly to do with deployment (unless you
want to get clever with commit hooks the way Heroku has, but while
that works for Heroku, I’m not convinced that that’s a particularly
good idea in the general case).

I’ll have to give mod_rails a try one day, but I am still sure that
Nginx+Thin is the best setup.

How can you be “sure” than Nginx + Thin is better than mod_rails if
you haven’t even tried mod_rails? Unlike any other Rails deployment
option that I’m aware of, mod_rails makes deploying Rails apps as easy
as deploying PHP apps, and performance appears to be excellent. What
makes Nginx and Thin so excellent?

Best,

Marnen Laibow-Koser
removed_email_address@domain.invalid
http://www.marnen.org


#6

On Dec 20, 2:39 am, rp8 Lun removed_email_address@domain.invalid wrote:

If you have a relatively simple site, you can use rsync with exluded
files/directories for production deployment from your build environment.

Yes, but you might as well automate that into a Capistrano script.

We use Ubuntu 8.04 and run RoR with nginx and thin. They work quite
well.

Thin has smaller footprint.

Good to know. I’ve never tried Thin.

We used to run mongrel_cluster with apache2,
that works too.

Sure. Passenger basically automates this.

cheers,

rp8

Best,

Marnen Laibow-Koser
removed_email_address@domain.invalid
http://www.marnen.org