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