I\'ve just moved from svn to github. Me and my team run local tests and we commit changes and test on a central dev server. Whenever we push changes to the repos I would like to
Here is part of the answer to my own question...
I wanted the team to be able to fork the code and instantly be able to show it on a url like this : http://branch-name.devserver.com
I set up vhost directives in apache conf to map sub domains to folders :
ServerName www.devserver.com
ServerAlias *.devserver.com
VirtualDocumentRoot /var/www/devserver/%1/
I branch the code in github or on my local machine.
Then run these commands on the dev server
cd /var/www/devserver
git clone git@github.com:/user-name/repos-name
Move the cloned repos folder to a folder named the branch name so it becomes the root folder of the subdomain virtual host.
mv repos-name new-branch
Then switch the repos from master to the new branch
cd /var/www/devserver/new-branch
git checkout new-branch
It's now available on http://new-branch.devserver.com
Then after I've pushed changes to the branch on github - I pull them on the dev server
cd /var/www/devserver/new-branch
git pull
Now - if I want the pull to happen automatically I could setup a CI server to listen for a git hub hook which would trigger a pull in each branches folder. Looks like Hudson could do this.
I'd hoped to find a smarter way to do this :
Any further thoughts welcome...