I realize that this question has been asked 100times but none that I have found really answers my questions.
We have multiple developers in multiple locations working on the same project. Some use Windows, some use Mac, our server is Linux, and each developer uses a different development application (Dreamweaver, Eclipse, etc). Each developer is running some form of Apache/PHP/MYSQL on their own computer with versions identical to our live server.
On the server we have the live(bug free) site, and our testing site(Each has its own mysql database). Once everything works as it should on our testing site we copy the modified files to the live site.
What we are looking for is
-
some way to allow the developers to ‘check out’ the files from the testing site, and then ‘check in’ after they are done working with them.
-
We want to be able to log the date/time of the check out and check in.
-
We would also like to be able to copy selected folders/files to the live site after we have finished testing.
The developers have varying degrees of command line knowledge, from none at all to experts.
Is there possibly a GUI version of SVN?
I should also add that it doesn’t have to be a free option, if these requirements come with a pay solution that would be fine as well.
Any information would be appreciated.
There are two easy tricks for deployment to your “live” site:
1) Use an SVN client on your “live” site to check out your software. When there are changes to deploy, run the SVN UPDATE command. (be sure to tell your webserver not to serve files in .svn folders!)
2) Have two root folders on your “live” site. When it’s time to deploy, SVN EXPORT into the second folder. In your webserver config, change your document root to the second folder and restart your web server. If there’s some unforeseen problem in the deployment, just switch back to the first folder.
Generally speaking, you’ll want developers to do testing of their changes in their local environment only. When it’s time to do testing of the full product, treat your “test” server exactly the same way as your “live” server, ideally using the same methods for deployment.
And find yourself a script junkie who can automate all the deployment for you, or use something like springloops.com. Eliminating manual deployment processes will probably make you happier in the long run (it’s 3 AM, you think you’ve fixed that last deployment problem, so you go to bed. When you wake up at 12:30 PM and realize that your site has been down all morning … it happens).
For GUIs, use scplugin for Mac OS X, TortoiseSVN for Windows. In Eclipse, use one of the eclipse svn plugins.