On Sun, Feb 21, 2010 at 9:40 PM, Benjamin Podszun <
benjamin.pods...@gmail.com> wrote:

> After some weeks using Gitorious internally I convinced quite some
> people of the merits of git and (yes, it was that bad) introduced
> source control for the majority of projects.
>

Congratulations!


> It's the latter that bugs me for now. How do you do it? Just git pull?
> Do you use a separate staging system to avoid trashing your production
> scripts? Are there manual steps involved (db migration, configuration
> changes)?
>

Actually, I'd recommend using a more formal deployment strategy. What we use
on gitorious.org is a tool called Capistrano (http://capify.org/. We have a
deployment recipe that describes the environment we deploy to and lets us
deploy using a CLI. Capistrano has tools for deploying with/without
migrations, restarting the application servers, disabling the site and many
more.

The deployment recipe describes things like:
- the servers to deploy to and their roles (ie web, db, app etc.)
- the git repository and branch to deploy from
- custom tasks (eg. restart the poller, git daemon etc.)

Capistrano deploys each release to a location on the file system of your
servers, and then creates a symlink from the latest revision to the location
served by Apache/Nginx. If a deployment fails, Capistrano easily lets you
roll back to the previous revision. It also lets you execute any kind of
command on the server(s) - usually over an SSH connection. capify.org has
some example recipes to get you going.

- Marius

-- 
To post to this group, send email to gitorious@googlegroups.com
To unsubscribe from this group, send email to
gitorious+unsubscr...@googlegroups.com

Reply via email to