We use Beanstalk to manage Git repositories across multiple projects and participants (dev/designers) for PHP based projects.
While the local workflow is nice and smooth, we’re hitting snags when it comes to getting changes deployed to the production website.
We tried the ‘Deployments’ feature of Beanstalk, but it uses FTP, and is apt to take a while. Sometimes if people push changes in rapid succession, the queue gets jammed up, and the wrong versions are sent out.
What I am looking for is a way to simply have the production server do ‘git pull’ when pushes are sent to Beanstalk.
I was investigating using Web Hooks, but was coming up short in getting that to work.
The best solution would be that code is pulled only when the latest push of changes are signed off on.
How can I accomplish this?
Capistrano is not just for Ruby on Rails, you should check it out.
http://www.jonmaddox.com/2006/08/16/automated-php-deployment-with-capistrano/ – is a short tutorial on doing automated deployments with PHP.