views:

29

answers:

1

I've been designing and developing websites for a number of years now, however, whenever I make changes to a website I take the bad approach of making a modification, replacing the orignal on the web server, testing in browser and making more changes as needed. I'm looking for a better way to do this. Alternatively sometimes I'll work on a new version of "page.php" by just copying it to "pageeee.php" to make my modifications until its ready to launch but then I have issues with things such as my "/page/" rewrite rules breaking all links while I'm testing, etc.

I've been thinking about just opening a new site thats basically mywebsite-dev.com where I can have a complete copy where I'll make all my changes and then just copy files over whenever I'm ready to release.

I assume the best method is for me to learn how to use SVN or something?

Long story short: What methods do you all use for developing in a beta/test enviroment and then auto deploying to your production website? Bonus points if the solution allows for versioning, rollback, etc while still being resonably easy to use.

+1  A: 

I use SVN, NANT, and CruiseControl.NET for my source, buid, and deployment setup.

Utilizing the source control to make versions, branch and merge and rollback. Then use NANT to automate build scripts to put everything together from the trunk of the software. Finally I use CC.NET to do automated deployments to staging upon check in and 1 click deployments to production.

Now this is for my .NET solutions. However there are equivalents for any major platform.

Dustin Laine