Hi,
We have a more complicated deployment process.

Our requirements:
- One svn server: S-SVN
- One sync server: SVN-SYNC
- dozens of web servers

* We have for every project a seperat checked out (and "installed")  
project on S-SVN.
* This checkout is updated on every release
* This fresh code is rsynced to our SVN-SYNC
* SVN-SYNC does another rsync to the web servers
* Every web server has fresh code now

DB migrations aren't automated yet in our process.


Am 09.07.2009 um 16:35 schrieb Jonathan Wage:

> My deployment process is simple. Here is a sample deployment of some  
> changes.
>
> Note: This all assumes you are working on a production svn export  
> which is in sync with the tag 1.0.1. We will make some changes and  
> tag it as 1.0.2 and upgrade.
>
> * Open up file and make some changes
> vi index.php
>
> * Commit those changes
> svn commit index.php
>
> * Make a copy of your working branch to a new tag
> svn copy http://domain.com/svn/branch/1.0 http://domain.com/svn/tags/1.0.2
>
> * Diff the old tag with the new tag and save it as a patch
> svn diff http://domain.com/svn/tags/1.0.1 http://domain.com/svn/tags/1.0.2 
>  > 1.0.1-1.0.2.diff
>
> * SCP the patch to production or where you need it
> scp 1.0.1-1.0.2.diff jw...@domain.com:/var/www/domain.com/patches
>
> * SSH to production
> ssh jw...@domain.com
>
> * Change directory to where code and patches are
> cd /var/www/domain.com/symfony
>
> * Apply a dry run with the patch to make sure it applies
> patch -p0 --dry-run < ../patches/1.0.1-1.0.2.diff
>
> * Apply patch
> patch -p0 < ../patches/1.0.1-1.0.2.diff
>
> * Run doctrine migrations if any new ones exist
> php symfony doctrine:migrate
>
> Now the above commands are all done manually but a lot of times I  
> just have simple capistrano scripts that do all this the same each  
> time with one command and a set of arguments.
>
> - Jon
>
> On Thu, Jul 9, 2009 at 9:09 AM, Gareth McCumskey  
> <gmccums...@gmail.com> wrote:
> If you don't checkout the entire project into the web root directory  
> it doesn't matter if you leave the config files such as  
> databases.yml in the project directory as users have no access there  
> anyways.
>
> i.e. checkout like we have to /usr/local/project_name and not /var/ 
> www/. Then use Apache's VirtualHost settings to point to the correct  
> location.
>
>
> On Thu, Jul 9, 2009 at 3:23 PM, cleve <cleve...@gmail.com> wrote:
>
> We're still using the symfony project sync, but an svn solution does
> sound interesting. Few thoughts though...
>
> When you do an svn checkuot to the production server how do you leave
> out the files you don't want like databases.yml etc
>
> Also what are advantages of using a checkout rather than export?
>
> Also do you tag every deployment in SVN then checkout from there or
> just CO from the trunk and note the revision number - I could imagine
> copying the whole project to a tag every time could be a bit over the
> top when you're deploying daily.
>
>
> John
>
> On Jul 9, 11:10 am, Gareth McCumskey <gmccums...@gmail.com> wrote:
> > Well we are currently in Beta of a symfony development app and we  
> originally
> > used the symfony deploy command as it seemed (at the time) the  
> easiest to
> > use and allowed us to control when we update but it suffered from  
> a few
> > drawbacks where we had to push our local copies to the remote  
> server and we
> > could then be right in the middle of a fix for something else and  
> hence have
> > "broken" features.
> >
> > We switched to doing an SVN checkout. THis allowed us to control  
> exactly
> > what revision of our application was posted onto the Beta testing  
> server
> > (which some select clients have access to) and the Beta testers  
> could also
> > exactly define then which revision they were testing on making  
> diagnosing
> > bugs easier.
> >
> > Not to mention that ssh'ing onto the Beta test server and doing an  
> svn up
> > command was a lot easier than trying to rely on an rsync deploy...  
> at least
> > for us.
> >
> > In addition, we keep a frozen copy of the project in SVN. This  
> means,
> > obviously, we keep the application out of the web root directory  
> and rather
> > use Apache VirtualHost support to point to our symfony web/  
> directory. This
> > means that we also have, at our disposal, the symfony command line  
> tool on
> > the remote box if we need it, but securely kept away from end users.
> >
> > On Thu, Jul 9, 2009 at 11:53 AM, Bernhard Schussek  
> <bschus...@gmail.com>wrote:
> >
> >
> >
> >
> >
> > > Hi,
> >
> > > After an interesting discussion with Jon and Russ
> > > (http://trac.symfony-project.org/ticket/6708) I would like to  
> open a
> > > follow-up thread.
> >
> > > What are your strategies for initial application deployment and  
> for
> > > delivering updates? Do you do a SVN checkout on the server or  
> use the
> > > project:deploy task? If you are using Doctrine, do you always  
> write
> > > migrations manually when making changes to the schema? What are  
> the
> > > reasons why you chose your deployment strategy?
> >
> > > I'm hoping for interesting reads :-)
> >
> > > Bernhard
> >
> > --
> > Gareth McCumskeyhttp://garethmccumskey.blogspot.com
> > twitter: @garethmcc
>
>
>
>
> -- 
> Gareth McCumskey
>
> http://garethmccumskey.blogspot.com
> twitter: @garethmcc
>
>
>
>
>
> -- 
> Jonathan H. Wage (+1 415 992 5468)
> Open Source Software Developer & Evangelist
> sensiolabs.com | jwage.com | doctrine-project.org | symfony- 
> project.org
>
> You can contact Jonathan about Doctrine, Symfony and Open-Source or  
> for training, consulting, application development, or business  
> related questions at jonathan.w...@sensio.com
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to 
symfony-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to