# Deploying Rails app as a product

**URL:** <https://www.ruby-forum.com/t/deploying-rails-app-as-a-product/128448>\
**Category:** Rails\
**Created:** [February 7, 2008, 8:09pm UTC](https://www.ruby-forum.com/t/deploying-rails-app-as-a-product/128448 "2008-02-07T20:09:18Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [February 7, 2008, 8:09pm UTC](https://www.ruby-forum.com/t/deploying-rails-app-as-a-product/128448/1 "2008-02-07T20:09:18Z")

</div>

I have a Rails application that I sell as a product. That is, a number  
of  
clients use the same software, except for small customizations, such as  
layouts, css files, etc.

I use SVN and Capistrano to manage the software and deployment. What I’d  
like to be able to do is to give all my clients regular software  
updates,  
without blowing away their layouts, css, and other customized files.

The way I’m doing this now is a bit kludgy for my taste. I’m sure there  
is a  
better way. My method has far too many manual steps, and I don’t feel  
like  
I’m using the full power of SVN or Capistrano.

For example, I’m still not sure whether I should be using just one main  
SVN  
trunk for all development (but then what do I do about customized  
layouts,  
for example), or a branch for each client (but then how do I  
‘distribute’  
new features to all clients?)

Any ideas for ‘best practices’ for doing this kind of ‘productized’  
deployment, much appreciated.

Brgds: John

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [February 7, 2008, 9:06pm UTC](https://www.ruby-forum.com/t/deploying-rails-app-as-a-product/128448/2 "2008-02-07T21:06:56Z")

</div>

Use Rails Engines…  
Take a look at my Substruct project for more info.

You can do customized deployments that don’t touch the base code pretty  
easily.

On Feb 7, 2008 11:08 AM, Identry [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I’m using the full power of SVN or Capistrano.
> 
> >

## –

## seth at subimage interactive

## [http://sublog.subimage.com](http://sublog.subimage.com)

## Cashboard - Estimates, invoices, and time tracking software - for free! [http://www.getcashboard.com](http://www.getcashboard.com)

Substruct - Open source RoR e-commerce software.  
[http://dev.subimage.com/projects/substruct](http://dev.subimage.com/projects/substruct)
