I’ve been sold on the whole idea of using Capistrano for deployment
of my sites and have successfully deployed three apps in three
different environments all with success.
As I’m trying to configure my sites I’ve encountered a number of
issues/questions hence this post.
Twice I’ve been stumped by apps refusing to work on the host because
I did not include the database.yml file in my SVN repos. How does
everyone else handle this point ?
In my mind, I would like to store it in the /shared directory so that
it remains in location for each release. Is there a reason why this
is NOT the default function today ? It seems to me that Capistrano
does so much else, why not this little bit too?
I’m thinking of creating a ‘deploy_db’ task that takes the local
database.yml and uploads it into this location that is run at some
point in the process. When is the key question in my mind ?
- /tmp/cache, /tmp/sessions etc
This is also in the release version directory. Is there a valid
reason for this as well, or can I move the whole /tmp directory into /
shared/tmp ? Why is this not the default already ?
- Local Rails & Plugins
On a shared host - like Dreamhost - it’s advised to freeze rails with
your app. Freeze normally stores rails inside /vendor/rails which
is also on per versions basis. I’ve tested on a local staging server
and it seems possible to run an app with a symlinked /vendor/rails.
Would this introduce any issues I can’t think of right now ?
The same with Plugins.
I’d really appreciate some feedback or comments on the above before I
“TextMate, coding with an incredible sense of joy and ease”
“RubyOnRails, joyful web development! Nothing more nothing less.”