/Github-Auto-Deploy

a server that allows you to automatically deploy the latest version of your github project at each git push

Primary LanguagePython

What is it?

this is a small HTTP server written in python.
It allows you to have a version of your project installed, that will be updated automatically on each Github push.

To set it up, do the following:

  • install python
  • enter the matching for your project(s) in the GitAutoDeploy.conf.json file
  • start the server by typing “python GitAutoDeploy.py”
  • to run it as a deamon add --deamon-mode
  • On the Github page go to a repository, then “Admin”, “Service Hooks”,
    “Post-Receive URLs” and add the url of your machine + port (e.g. http://example.com:8001).

You can even test the whole thing here, by clicking on the “Test Hook” button, whohoo!

How this works

When someone pushes changes into Github, it sends a json file to the service hook url.
It contains information about the repository that was updated.

All it really does is match the repository urls to your local repository paths in the config file,
move there and run “git pull”.

Additionally it runs a deploy bash command that you can add to the config file optionally.
Make sure that you start the server as the user that is allowed to pull from the github repository.