My team is about to begin a web project using the Symfony2 framework. We will be using SVN for version control (this is non-negotiable, sorry git fans). I am trying to conceptualize how we will be able to revision code as well as deploy to our live server smoothly.
Here’s the general system we are working with:
- SVN Server
- Deployment Server
- Each team member should develop locally on their own machine
How I would like our system to work:
- Developer checks out website code to local machine
- Develops through Eclipse IDE
- Debugs, tests, and launches local copy of site on their machine (connects to deployment server to access DBs)
- Checks changes into SVN repo
- Updated code is deployed to the live server by lead developer
Does this seem like a good work flow? The only awkward part about this is that it will require each developer to deploy a W/LAMP stack to their local machines. But, that is still feasible.
Also, is their any tools or commands specific to Symfony/SVN that will make this workflow easier to implement?
Everything looks fine and obvious except of one thing
DON’T DO THAT
Indeed, deployment is a process performed automatically, but it always should be initiated by user. Always, with no exceptions
Also I’d add another step – continuous integration server, to run your tests and calculate various metrics and make some analysis