Hey guys! I run a small web development company along side with my brother and friend. After doing extensive research I have decided on using subversion for version control.
Here is how I currently plan on running typical development. Keep in mind there are 3 of us each in a separate location.
I set up an account with springloops (springloops.com) subversion hosting. Each time I work on a new project, I create a repository for it. So lets say in this case I am working on site1. I want to have 3 versions of the site on the internet:
- Web Development - This is the server me and the other developers publish to. (site1.dev.bythepixel.com)
- Client Preview - This is the server that we update every few days with a good revision for the client to see. (site1.bythepixel.com)
- Live Site - The site I publish to when going live (site1.com)
Each web development machine (at each location) will have a local copy of xamp running virtual host to allow multiple websites to be worked on. The root of the local copy is set up to be the same as the local copy of the subversion repository. This is set up so we can make small tweaks and preview them immediately. When some work has been done, a commit is made to the repository for the site. I will have the dev site automatically be pushed (its an option in springloops). Then, whenever I feel ready to push to the client site I will do so. The final stage will be to push to the live site.
Now, I have a few concerns with those work flow:
I am using codeigniter currently, and in the config file I generally set the root of the site. Ex. http://www.site1.com. So, it looks like each time I publish to one of the internet servers, I will have to modify the config file? Is there any way to make it so certain files are set for each server? So when I hit publish to client preview it just uploads the config file for the client preview server.
I don't want the live site , the client preview site and the dev site to share the same mysql server for a variety of reasons. So does this once again mean that I have to adjust the db server info each time I push to a different site?
Does this workflow make sense? If you have any suggestion please let me know. I plan for this to be the work flow I use for the next few year. I just need to put a system in place that allows for future expansion!
Thanks a bunch!!