I want to set up Git so that when I commit to BitBucket my web server automatically fetches those commits and updates the files on the webserver.
How can I do that?
AFAIK, BB doesn't allow you to set up your own post-receive hooks, though I admit I haven't really looked into it much.
I'd cheat.
Set up a cron job on your webserver that simply git checkout -f's every 5 mins, on a branch. Whenever you want to update your webserver, push to that branch.
You can get fancier if you'd like.
You can write a client side script that wraps the git git pushing operation, then does something like ssh user@yourwebserver ./script-that-handles-pulling-down-stuff-then-restarting-web-server.sh EDIT- READ MY EDIT BELOW
Hoping Marcus Bertrand doesn't come and rip me a new one for telling people to poll BB servers (ducks).
EDIT
Marcus cleverly (with great prejudice) informed me that there is a post commit POST service and I shouldn't tell people to poll our servers.
https://confluence.atlassian.com/display/BITBUCKET/POST+Service+Management
So you could simply create a webservice on your web server that listens for a post to some url, then triggers a small script that does the checkout -f. If you wanna be really really nice to our servers, you could parse the resultant message that we send to your service and only do the checkout if it affects your branch.
Please be nice to our servers :)
See https://gist.github.com/oodavid/1809044 - works like a charm.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.