tags:

views:

3810

answers:

9

Are there any systems out there where one can check in changes for a website and have that automatically update the website.

The website effetively runs off the latest stable build the whole time without the need to ftp the files to the server.

+2  A: 

You might want to use a combination of CruiseControl (or CruiseControl.NET) and Ant (or NAnt). That does the job extremely well for us.

Sklivvz
+6  A: 

I would look into using a post-commit hook to update the site when changes are made. This could be something as simple as using "svn export" to export the current state of the repository to the live website location. Of course, this has performance considerations if your site has lots of content, so you may want to do something more sophisticated and only push updates for content that was changed in the commit.

Greg Hewgill
You can also launch an asynchronous task from the post-commit hook so that the checkin process doesn't have to wait until the upload completes. This can be something as simple as launching an other script in the background.
Cd-MaN
A: 

SVN's post_commit hook is ideal for things like this.

ADS (automatic deployment script looks like a solution to this, but I've never tried it - just found it with a few seconds of Googling.

David Precious
+1  A: 

Yes, post_commit hook is what you want.

What to hook to? I'd recommend rsync (if your site instance isn't a svn working copy) or ssh with key auth calling a script which does 'cd WEBDIR && svn up' (if it is).

mdxi
A: 

Effectively what needs to happen is that changes I have marked as live or stable needs to be merged with the Live website. This effectively means I don't have to worry about accidently copying over files and if something goes wrong it could be reverted to the previous version again.

I'll investigate post_commit hook but I'll have to find a way to do a backup first so that a problem with subversiondoesn't kill the site.

A: 

You may want to take a look at Unison. I was fairly happy with it as a publishing mechanism for a site where I wanted, effectively, a smart two-way rsync. You could probably tie it to SVN without much difficulty.

A: 

svn2web, installed as a post-commit hook, will ftp or scp files from a subversion repository to one or more web servers on every commit. See the SourceForge project for details.

gavinandresen
+1  A: 

[Assembla][1]'s got it, with their FTP and Subversion tools

[1]: http://www.assembla.com/catalog/37-Web-Designers-Package?affiliate=Ryan Menezes

I believe this is in Beta stage and they do no recommend it being used for production at this time.
Haluk
A: 

Beanstalk is a solution that integrates ftp with subversion.

http://beanstalkapp.com/

Joemama88